<!DOCTYPE html>
<html b:version='2' class='v2' dir='ltr' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<meta content='width=1100' name='viewport'/>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<script type="text/javascript">(function() { var a=window;function c(b){this.t={};this.tick=function(d,i,e){e=e!=undefined?e:(new Date).getTime();this.t[d]=[e,i]};this.tick("start",null,b)}var f=new c;a.jstiming={Timer:c,load:f};try{var g=null;if(a.chrome&&a.chrome.csi)g=Math.floor(a.chrome.csi().pageT);if(g==null)if(a.gtbExternal)g=a.gtbExternal.pageT();if(g==null)if(a.external)g=a.external.pageT;if(g)a.jstiming.pt=g}catch(h){};a.tickAboveFold=function(b){var d=0;if(b.offsetParent){do d+=b.offsetTop;while(b=b.offsetParent)}b=d;b<=750&&a.jstiming.load.tick("aft")};var j=false;function k(){if(!j){j=true;a.jstiming.load.tick("firstScrollTime")}}a.addEventListener?a.addEventListener("scroll",k,false):a.attachEvent("onscroll",k);
 })();</script>
<meta content='true' name='MSSmartTagsPreventParsing'/>
<meta content='blogger' name='generator'/>
<link href='http://www.blogger.com/favicon.ico' rel='icon' type='image/vnd.microsoft.icon'/>
<link href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html' rel='canonical'/>
<link rel="alternate" type="application/atom+xml" title="The Brain Dump - Atom" href="http://blog.talawah.net/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="The Brain Dump - RSS" href="http://blog.talawah.net/feeds/posts/default?alt=rss" />
<link rel="service.post" type="application/atom+xml" title="The Brain Dump - Atom" href="http://www.blogger.com/feeds/1362481190840665151/posts/default" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.blogger.com/rsd.g?blogID=1362481190840665151" />
<!--[if IE]><script type="text/javascript" src="http://www.blogger.com/static/v1/jsbin/126994838-ieretrofit.js"></script>
<![endif]-->

<link rel="image_src" href="http://3.bp.blogspot.com/-cyMzveP3IvQ/TaR7f3qkYmI/AAAAAAAAAIk/mrChE-G0b5c/s72-c/Java.png" />
<!--[if IE]> <script> (function() { var html5 = ("abbr,article,aside,audio,canvas,datalist,details," + "figure,footer,header,hgroup,mark,menu,meter,nav,output," + "progress,section,time,video").split(','); for (var i = 0; i < html5.length; i++) { document.createElement(html5[i]); } try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} })(); </script> <![endif]-->
<title>The Brain Dump: Gavin King unveils Red Hat's Java killer successor: The Ceylon Project</title>
<link type='text/css' rel='stylesheet' href='http://www.blogger.com/static/v1/widgets/3714081673-widget_css_2_bundle.css' />
<link type='text/css' rel='stylesheet' href='http://www.google.com/uds/css/gsearch.css' />
 <link rel="stylesheet" type="text/css" href="http://www.blogger.com/dyn-css/authorization.css?targetBlogID=1362481190840665151&zx=7063b300-0619-4d6f-86a5-7ff9d2b84fe2"/>
<style type="text/css">#navbar-iframe { display:block }
</style>

<style id='page-skin-1' type='text/css'><!--
/*
-----------------------------------------------
Blogger Template Style
Name:     Awesome Inc.
Designer: Tina Chen
URL:      tinachen.org
----------------------------------------------- */
/* Variable definitions
====================
<Variable name="keycolor" description="Main Color" type="color" default="#ffffff"/>
<Group description="Page" selector="body">
<Variable name="body.font" description="Font" type="font"
default="normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="body.background.color" description="Background Color" type="color" default="#000000"/>
<Variable name="body.text.color" description="Text Color" type="color" default="#ffffff"/>
</Group>
<Group description="Links" selector=".main-inner">
<Variable name="link.color" description="Link Color" type="color" default="#888888"/>
<Variable name="link.visited.color" description="Visited Color" type="color" default="#444444"/>
<Variable name="link.hover.color" description="Hover Color" type="color" default="#cccccc"/>
</Group>
<Group description="Blog Title" selector=".header h1">
<Variable name="header.font" description="Title Font" type="font"
default="normal bold 40px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="header.text.color" description="Title Color" type="color" default="#575757" />
<Variable name="header.background.color" description="Header Background" type="color" default="transparent" />
</Group>
<Group description="Blog Description" selector=".header .description">
<Variable name="description.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="description.text.color" description="Text Color" type="color"
default="#575757" />
</Group>
<Group description="Tabs Text" selector=".tabs-inner .widget li a">
<Variable name="tabs.font" description="Font" type="font"
default="normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="tabs.text.color" description="Text Color" type="color" default="#575757"/>
<Variable name="tabs.selected.text.color" description="Selected Color" type="color" default="#575757"/>
</Group>
<Group description="Tabs Background" selector=".tabs-outer .PageList">
<Variable name="tabs.background.color" description="Background Color" type="color" default="#141414"/>
<Variable name="tabs.selected.background.color" description="Selected Color" type="color" default="#444444"/>
<Variable name="tabs.border.color" description="Border Color" type="color" default="#103550"/>
</Group>
<Group description="Date Header" selector=".main-inner .widget h2.date-header, .main-inner .widget h2.date-header span">
<Variable name="date.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="date.text.color" description="Text Color" type="color" default="#666666"/>
<Variable name="date.border.color" description="Border Color" type="color" default="#103550"/>
</Group>
<Group description="Post Title" selector="h3.post-title, h4, h3.post-title a">
<Variable name="post.title.font" description="Font" type="font"
default="normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="post.title.text.color" description="Text Color" type="color" default="#575757"/>
</Group>
<Group description="Post Background" selector=".post">
<Variable name="post.background.color" description="Background Color" type="color" default="#fefefe" />
<Variable name="post.border.color" description="Border Color" type="color" default="#103550" />
<Variable name="post.border.bevel.color" description="Bevel Color" type="color" default="#103550"/>
</Group>
<Group description="Gadget Title" selector="h2">
<Variable name="widget.title.font" description="Font" type="font"
default="normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="widget.title.text.color" description="Text Color" type="color" default="#575757"/>
</Group>
<Group description="Gadget Text" selector=".sidebar .widget">
<Variable name="widget.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="widget.text.color" description="Text Color" type="color" default="#575757"/>
<Variable name="widget.alternate.text.color" description="Alternate Color" type="color" default="#666666"/>
</Group>
<Group description="Gadget Links" selector=".sidebar .widget">
<Variable name="widget.link.color" description="Link Color" type="color" default="#2f8dc5"/>
<Variable name="widget.link.visited.color" description="Visited Color" type="color" default="#423bae"/>
<Variable name="widget.link.hover.color" description="Hover Color" type="color" default="#2793c8"/>
</Group>
<Group description="Gadget Background" selector=".sidebar .widget">
<Variable name="widget.background.color" description="Background Color" type="color" default="#141414"/>
<Variable name="widget.border.color" description="Border Color" type="color" default="#222222"/>
<Variable name="widget.border.bevel.color" description="Bevel Color" type="color" default="#000000"/>
</Group>
<Group description="Sidebar Background" selector=".column-left-inner .column-right-inner">
<Variable name="widget.outer.background.color" description="Background Color" type="color" default="transparent" />
</Group>
<Group description="Images" selector=".main-inner">
<Variable name="image.background.color" description="Background Color" type="color" default="transparent"/>
<Variable name="image.border.color" description="Border Color" type="color" default="transparent"/>
</Group>
<Group description="Feed" selector=".blog-feeds">
<Variable name="feed.text.color" description="Text Color" type="color" default="#575757"/>
</Group>
<Group description="Feed Links" selector=".blog-feeds">
<Variable name="feed.link.color" description="Link Color" type="color" default="#2f8dc5"/>
<Variable name="feed.link.visited.color" description="Visited Color" type="color" default="#423bae"/>
<Variable name="feed.link.hover.color" description="Hover Color" type="color" default="#2793c8"/>
</Group>
<Group description="Pager" selector=".blog-pager">
<Variable name="pager.background.color" description="Background Color" type="color" default="#fefefe" />
</Group>
<Group description="Footer" selector=".footer-outer">
<Variable name="footer.background.color" description="Background Color" type="color" default="#fefefe" />
<Variable name="footer.text.color" description="Text Color" type="color" default="#575757" />
</Group>
<Variable name="title.shadow.spread" description="Title Shadow" type="length" default="-1px"/>
<Variable name="body.background" description="Body Background" type="background"
color="#f9fcfd"
default="$(color) none repeat scroll top left"/>
<Variable name="body.background.gradient.cap" description="Body Gradient Cap" type="url"
default="none"/>
<Variable name="tabs.background.gradient" description="Tabs Background Gradient" type="url"
default="none"/>
<Variable name="header.background.gradient" description="Header Background Gradient" type="url" default="none" />
<Variable name="header.padding.top" description="Header Top Padding" type="length" default="22px" />
<Variable name="header.margin.top" description="Header Top Margin" type="length" default="0" />
<Variable name="header.margin.bottom" description="Header Bottom Margin" type="length" default="0" />
<Variable name="widget.padding.top" description="Widget Padding Top" type="length" default="8px" />
<Variable name="widget.padding.side" description="Widget Padding Side" type="length" default="15px" />
<Variable name="widget.outer.margin.top" description="Widget Top Margin" type="length" default="0" />
<Variable name="widget.outer.background.gradient" description="Gradient" type="url" default="none" />
<Variable name="widget.border.radius" description="Gadget Border Radius" type="length" default="0" />
<Variable name="outer.shadow.spread" description="Outer Shadow Size" type="length" default="0" />
<Variable name="date.header.border.radius.top" description="Date Header Border Radius Top" type="length" default="0" />
<Variable name="date.header.position" description="Date Header Position" type="length" default="15px" />
<Variable name="date.space" description="Date Space" type="length" default="30px" />
<Variable name="date.position" description="Date Float" type="string" default="static" />
<Variable name="date.padding.bottom" description="Date Padding Bottom" type="length" default="0" />
<Variable name="date.border.size" description="Date Border Size" type="length" default="0" />
<Variable name="date.background" description="Date Background" type="background" color="transparent"
default="$(color) none no-repeat scroll top left" />
<Variable name="date.first.border.radius.top" description="Date First top radius" type="length" default="5px" />
<Variable name="date.last.space.bottom" description="Date Last Space Bottom" type="length"
default="20px" />
<Variable name="date.last.border.radius.bottom" description="Date Last bottom radius" type="length" default="5px" />
<Variable name="post.first.padding.top" description="First Post Padding Top" type="length" default="0" />
<Variable name="image.shadow.spread" description="Image Shadow Size" type="length" default="0"/>
<Variable name="image.border.radius" description="Image Border Radius" type="length" default="0"/>
<Variable name="separator.outdent" description="Separator Outdent" type="length" default="15px" />
<Variable name="title.separator.border.size" description="Widget Title Border Size" type="length" default="1px" />
<Variable name="list.separator.border.size" description="List Separator Border Size" type="length" default="1px" />
<Variable name="shadow.spread" description="Shadow Size" type="length" default="0"/>
<Variable name="startSide" description="Side where text starts in blog language" type="automatic" default="left"/>
<Variable name="endSide" description="Side where text ends in blog language" type="automatic" default="right"/>
<Variable name="date.side" description="Side where date header is placed" type="string" default="right"/>
<Variable name="pager.border.radius.top" description="Pager Border Top Radius" type="length" default="5px" />
<Variable name="pager.space.top" description="Pager Top Space" type="length" default="1em" />
<Variable name="footer.background.gradient" description="Background Gradient" type="url" default="none" />
*/
/* Content
----------------------------------------------- */
body {
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #575757;
background: #e6e9ee url(http://themes.googleusercontent.com/image?id=1-QeziT_xhEvxfBl8wPx5qvDh7FrTqJvLJR2vQYW-ZkaGhxc2p1Zzl4P1_LVa2rRTUapD) no-repeat fixed top center /* Credit: Storman (http://www.istockphoto.com/googleimages.php?id=5972475&platform=blogger) */;
}
html body .content-outer {
min-width: 0;
max-width: 100%;
width: 100%;
}
a:link {
text-decoration: none;
color: #2f8dc5;
}
a:visited {
text-decoration: none;
color: #423bae;
}
a:hover {
text-decoration: underline;
color: #2793c8;
}
.body-fauxcolumn-outer .cap-top {
position: absolute;
z-index: 1;
height: 276px;
width: 100%;
background: transparent none repeat-x scroll top left;
_background-image: none;
}
/* Columns
----------------------------------------------- */
.content-inner {
padding: 0;
}
.header-inner .section {
margin: 0 16px;
}
.tabs-inner .section {
margin: 0 16px;
}
.main-inner {
padding-top: 30px;
}
.main-inner .column-center-inner,
.main-inner .column-left-inner,
.main-inner .column-right-inner {
padding: 0 5px;
}
*+html body .main-inner .column-center-inner {
margin-top: -30px;
}
#layout .main-inner .column-center-inner {
margin-top: 0;
}
/* Header
----------------------------------------------- */
.header-outer {
margin: 0 0 0 0;
background: transparent none repeat scroll 0 0;
}
.Header h1 {
font: normal normal 50px Georgia, Utopia, 'Palatino Linotype', Palatino, serif;
color: #464646;
text-shadow: 0 0 -1px #000000;
}
.Header h1 a {
color: #464646;
}
.Header .description {
font: normal normal 18px Georgia, Utopia, 'Palatino Linotype', Palatino, serif;
color: #5b8690;
}
.header-inner .Header .titlewrapper,
.header-inner .Header .descriptionwrapper {
padding-left: 0;
padding-right: 0;
margin-bottom: 0;
}
.header-inner .Header .titlewrapper {
padding-top: 22px;
}
/* Tabs
----------------------------------------------- */
.tabs-outer {
overflow: hidden;
position: relative;
background: #90a7cd url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_light.png) repeat scroll 0 0;
}
#layout .tabs-outer {
overflow: visible;
}
.tabs-cap-top, .tabs-cap-bottom {
position: absolute;
width: 100%;
border-top: 1px solid #759299;
}
.tabs-cap-bottom {
bottom: 0;
}
.tabs-inner .widget li a {
display: inline-block;
margin: 0;
padding: .6em 1.5em;
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #575757;
border-top: 1px solid #759299;
border-bottom: 1px solid #759299;
border-left: 1px solid #759299;
}
.tabs-inner .widget li:last-child a {
border-right: 1px solid #759299;
}
.tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover {
background: #586884 url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_light.png) repeat-x scroll 0 -100px;
color: #ffffff;
}
/* Headings
----------------------------------------------- */
h2 {
font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #575757;
}
/* Widgets
----------------------------------------------- */
.main-inner .section {
margin: 0 27px;
padding: 0;
}
.main-inner .column-left-outer,
.main-inner .column-right-outer {
margin-top: 0;
}
#layout .main-inner .column-left-outer,
#layout .main-inner .column-right-outer {
margin-top: 0;
}
.main-inner .column-left-inner,
.main-inner .column-right-inner {
background: transparent none repeat 0 0;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-goog-ms-border-radius: 5px;
border-radius: 5px;
}
#layout .main-inner .column-left-inner,
#layout .main-inner .column-right-inner {
margin-top: 0;
}
.sidebar .widget {
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #575757;
}
.sidebar .widget a:link {
color: #2f8dc5;
}
.sidebar .widget a:visited {
color: #2f8dc5;
}
.sidebar .widget a:hover {
color: #2793c8;
}
.sidebar .widget h2 {
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget {
background-color: #fefefe;
border: 1px solid #103550;
padding: 0 15px 15px;
margin: 20px -16px;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-goog-ms-border-radius: 5px;
border-radius: 5px;
}
.main-inner .widget h2 {
margin: 0 -0;
padding: .6em 0 .5em;
border-bottom: 1px solid transparent;
}
.footer-inner .widget h2 {
padding: 0 0 .4em;
border-bottom: 1px solid transparent;
}
.main-inner .widget h2 + div, .footer-inner .widget h2 + div {
border-top: 1px solid #103550;
padding-top: 8px;
}
.main-inner .widget .widget-content {
margin: 0 -0;
padding: 7px 0 0;
}
.main-inner .widget ul, .main-inner .widget #ArchiveList ul.flat {
margin: -8px -15px 0;
padding: 0;
list-style: none;
}
.main-inner .widget #ArchiveList {
margin: -8px 0 0;
}
.main-inner .widget ul li, .main-inner .widget #ArchiveList ul.flat li {
padding: .5em 15px;
text-indent: 0;
color: #747474;
border-top: 0 solid #103550;
border-bottom: 1px solid transparent;
}
.main-inner .widget #ArchiveList ul li {
padding-top: .25em;
padding-bottom: .25em;
}
.main-inner .widget ul li:first-child, .main-inner .widget #ArchiveList ul.flat li:first-child {
border-top: none;
}
.main-inner .widget ul li:last-child, .main-inner .widget #ArchiveList ul.flat li:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.main-inner .widget .post-body ul {
padding: 0 2.5em;
margin: .5em 0;
list-style: disc;
}
.main-inner .widget .post-body ul li {
padding: 0.25em 0;
margin-bottom: .25em;
color: #575757;
border: none;
}
.footer-inner .widget ul {
padding: 0;
list-style: none;
}
.widget .zippy {
color: #747474;
}
/* Posts
----------------------------------------------- */
body .main-inner .Blog {
padding: 0;
margin-bottom: 1em;
background-color: transparent;
border: none;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.main-inner .section:last-child .Blog:last-child {
padding: 0;
margin-bottom: 1em;
}
.main-inner .widget h2.date-header {
margin: 0 -15px 1px;
padding: 0 0 0 0;
font: normal bold 12px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #759299;
background: transparent none no-repeat scroll top left;
border-top: 0 solid #666666;
border-bottom: 1px solid transparent;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
position: static;
bottom: 100%;
right: 15px;
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget h2.date-header span {
font: normal bold 12px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
display: block;
padding: .5em 15px;
border-left: 0 solid #666666;
border-right: 0 solid #666666;
}
.date-outer {
position: relative;
margin: 30px 0 20px;
padding: 0 15px;
background-color: #fefefe;
border: 1px solid #103550;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-goog-ms-border-radius: 5px;
border-radius: 5px;
}
.date-outer:first-child {
margin-top: 0;
}
.date-outer:last-child {
margin-bottom: 20px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-goog-ms-border-bottom-left-radius: 5px;
-goog-ms-border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.date-posts {
margin: 0 -0;
padding: 0 0;
clear: both;
}
.post-outer, .inline-ad {
border-top: 1px solid #194d74;
margin: 0 -0;
padding: 15px 0;
}
.post-outer {
padding-bottom: 10px;
}
.post-outer:first-child {
padding-top: 0;
border-top: none;
}
.post-outer:last-child, .inline-ad:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.post-body img {
padding: 8px;
background: #ffffff;
border: 1px solid #d0d0d0;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
h3.post-title, h4 {
font: normal normal 18px Georgia, Utopia, 'Palatino Linotype', Palatino, serif;
color: #2f8dc5;
}
h3.post-title a {
font: normal normal 18px Georgia, Utopia, 'Palatino Linotype', Palatino, serif;
color: #2f8dc5;
}
h3.post-title a:hover {
color: #2793c8;
text-decoration: underline;
}
.post-header {
margin: 0 0 1em;
}
.post-body {
line-height: 1.4;
}
.post-outer h2 {
color: #575757;
}
.post-footer {
margin: 1.5em 0 0;
}
#blog-pager {
padding: 15px;
font-size: 120%;
background-color: #fefefe;
border: 1px solid #103550;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-goog-ms-border-radius: 5px;
border-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 5px;
-webkit-border-top-left-radius: 5px;
-webkit-border-top-right-radius: 5px;
-goog-ms-border-top-left-radius: 5px;
-goog-ms-border-top-right-radius: 5px;
border-top-left-radius: 5px;
border-top-right-radius-topright: 5px;
margin-top: 1em;
}
.blog-feeds, .post-feeds {
margin: 1em 0;
text-align: center;
color: #575757;
}
.blog-feeds a, .post-feeds a {
color: #2f8dc5;
}
.blog-feeds a:visited, .post-feeds a:visited {
color: #423bae;
}
.blog-feeds a:hover, .post-feeds a:hover {
color: #2793c8;
}
.post-outer .comments {
margin-top: 2em;
}
/* Footer
----------------------------------------------- */
.footer-outer {
margin: -20px 0 -1px;
padding: 20px 0 0;
color: #575757;
overflow: hidden;
}
.footer-fauxborder-left {
border-top: 1px solid #103550;
background: #fefefe none repeat scroll 0 0;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
margin: 0 -20px;
}
/* Mobile
----------------------------------------------- */
*+html body.mobile .main-inner .column-center-inner {
margin-top: 0;
}
.mobile .main-inner {
padding-top: 0;
}
.mobile .main-inner .widget {
padding: 0 0 15px;
}
.mobile .main-inner .widget h2 + div,
.mobile .footer-inner .widget h2 + div {
border-top: none;
padding-top: 0;
}
.mobile .footer-inner .widget h2 {
padding: 0.5em 0;
border-bottom: none;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile .main-inner .widget ul,
.mobile .main-inner .widget #ArchiveList ul.flat {
margin: 0 -15px 0;
}
.mobile .main-inner .widget h2.date-header {
right: 0;
}
.mobile .date-header span {
padding: 0.4em 0;
}
.mobile .date-outer:first-child {
margin-bottom: 0;
border: 1px solid #103550;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 5px;
-webkit-border-top-left-radius: 5px;
-webkit-border-top-right-radius: 5px;
-goog-ms-border-top-left-radius: 5px;
-goog-ms-border-top-right-radius: 5px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.mobile .date-outer {
border-color: #103550;
border-width: 0 1px 1px;
}
.mobile .date-outer:last-child {
margin-bottom: 0;
}
.mobile .main-inner {
padding: 20px 10px;
}
.mobile .header-inner .section {
margin: 0;
}
.mobile .post-outer, .mobile .inline-ad {
padding: 5px 0;
}
.mobile .tabs-inner .section {
margin: 0 10px;
}
.mobile .main-inner .section {
margin: 0;
}
.mobile .main-inner .widget h2 {
margin: 0;
padding: 0;
}
.mobile .main-inner .widget h2.date-header span {
padding: 0;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile .main-inner .column-center-inner,
.mobile .main-inner .column-left-inner,
.mobile .main-inner .column-right-inner {
padding: 0;
}
.mobile .main-inner .column-left-inner,
.mobile .main-inner .column-right-inner {
background: transparent none repeat 0 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-goog-ms-box-shadow: none;
box-shadow: none;
}
.mobile .date-posts {
margin: 0;
padding: 0;
}
.mobile .footer-fauxborder-left {
margin: 0;
}
.mobile .main-inner .section:last-child .Blog:last-child {
margin-bottom: 0;
}
.mobile-index-contents {
color: #575757;
}
.mobile .mobile-link-button {
background: #586884 url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_light.png) repeat-x scroll 0 -100px;
}
.mobile-link-button a:link, .mobile-link-button a:visited {
color: #ffffff;
}

--></style>
<style id='template-skin-1' type='text/css'><!--
body {
min-width: 980px;
}
.content-outer, .content-fauxcolumn-outer, .region-inner {
min-width: 980px;
max-width: 980px;
_width: 980px;
}
.main-inner .columns {
padding-left: 0px;
padding-right: 363px;
}
.main-inner .fauxcolumn-center-outer {
left: 0px;
right: 363px;
/* IE6 does not respect left and right together */
_width: expression(this.parentNode.offsetWidth -
parseInt("0px") -
parseInt("363px") + 'px');
}
.main-inner .fauxcolumn-left-outer {
width: 0px;
}
.main-inner .fauxcolumn-right-outer {
width: 363px;
}
.main-inner .column-left-outer {
width: 0px;
right: 100%;
margin-left: -0px;
}
.main-inner .column-right-outer {
width: 363px;
margin-right: -363px;
}
#layout {
min-width: 0;
}
#layout .content-outer {
min-width: 0;
width: 800px;
}
#layout .region-inner {
min-width: 0;
width: auto;
}
--></style>
<script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('headEnd');
</script></head>

<body class='loading'>
<div class='navbar section' id='navbar'><div class='widget Navbar' id='Navbar1'><script type="text/javascript">
    function setAttributeOnload(object, attribute, val) {
      if(window.addEventListener) {
        window.addEventListener("load",
          function(){ object[attribute] = val; }, false);
      } else {
        window.attachEvent('onload', function(){ object[attribute] = val; });
      }
    }
    function showRelatedContent(args) {
      var el = document.getElementById('related-iframe');
      if (el.parentNode.style.display != 'none') {
        el.parentNode.style.display = 'none';
        document.onclick = showRelatedContent.prevOnClick;
        return;
      }
      
      var match = /(?:^[?]|&)c=([0-9]+)(?:&|(?!.))/.exec(args);
      if (match !== null) {
        document.getElementById('related-loading').style.left = match[1] + 'px';
        el.style.left = Math.max(0, match[1] - parseInt(el.width) / 2) + 'px';
      }
      el.src = "http://www.blogger.com"
          + '/related-content.g?q='
          + "http://blog.talawah.net/"
          + '&id=' + "1362481190840665151";
      el.parentNode.style.display = 'block';
      showRelatedContent.prevOnClick = document.onclick;

      // Hide related-content dropdown when clicking anywhere but on it.
      document.onclick = function() {
        var el = document.getElementById('related-iframe');
        if (el.parentNode.style.display != 'none') {
          el.parentNode.style.display = 'none';
        }
        document.onclick = showRelatedContent.prevOnClick;
      };
    }
  </script>
<iframe src="http://www.blogger.com/navbar.g?targetBlogID=1362481190840665151&amp;blogName=The+Brain+Dump&amp;publishMode=PUBLISH_MODE_HOSTED&amp;navbarType=LIGHT&amp;layoutType=LAYOUTS&amp;searchRoot=http%3A%2F%2Fblog.talawah.net%2Fsearch&amp;blogLocale=en&amp;homepageUrl=http%3A%2F%2Fblog.talawah.net%2F&amp;targetPostID=8101675546221953092" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" height="30px" width="100%" id="navbar-iframe" allowtransparency="true" title="Blogger Navigation and Search"></iframe>

<div></div></div></div>
<div class='body-fauxcolumns'>
<div class='fauxcolumn-outer body-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>

</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content'>
<div class='content-fauxcolumns'>
<div class='fauxcolumn-outer content-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>

</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content-outer'>
<div class='content-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left content-fauxborder-left'>
<div class='fauxborder-right content-fauxborder-right'></div>
<div class='content-inner'>
<header>

<div class='header-outer'>
<div class='header-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left header-fauxborder-left'>
<div class='fauxborder-right header-fauxborder-right'></div>
<div class='region-inner header-inner'>
<div class='header section' id='header'><div class='widget Header' id='Header1'>
<div id='header-inner'>
<div class='titlewrapper'>
<h1 class='title'>
<a href='http://blog.talawah.net/'>The Brain Dump</a>
</h1>
</div>
<div class='descriptionwrapper'>

<p class='description'><span>Where I come unload my thoughts, ideas and hallucinations.</span></p>
</div>
</div>
</div></div>
</div>
</div>
<div class='header-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</header>
<div class='tabs-outer'>
<div class='tabs-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>

</div>
<div class='fauxborder-left tabs-fauxborder-left'>
<div class='fauxborder-right tabs-fauxborder-right'></div>
<div class='region-inner tabs-inner'>
<div class='tabs section' id='crosscol'><div class='widget HTML' id='HTML1'>
<h2 class='title'>Analytics</h2>
<div class='widget-content'>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-4034815-2']);
  _gaq.push(['_setDomainName', '.talawah.net']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=HTML&widgetId=HTML1&action=editWidget&sectionId=crosscol' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML1"));' target='configHTML1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>

</span>
</span>
<div class='clear'></div>
</div></div>
<div class='tabs section' id='crosscol-overflow'></div>
</div>
</div>
<div class='tabs-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='main-outer'>
<div class='main-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>

<div class='fauxborder-left main-fauxborder-left'>
<div class='fauxborder-right main-fauxborder-right'></div>
<div class='region-inner main-inner'>
<div class='columns fauxcolumns'>
<div class='fauxcolumn-outer fauxcolumn-center-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>

</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-left-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>

<div class='fauxcolumn-outer fauxcolumn-right-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<!-- corrects IE6 width calculation -->
<div class='columns-inner'>

<div class='column-center-outer'>
<div class='column-center-inner'>
<div class='main section' id='main'><div class='widget Blog' id='Blog1'>
<div class='blog-posts hfeed'>
<!-- google_ad_section_start(name=default) -->

          <div class="date-outer">
        
<h2 class='date-header'><span>Monday, April 11, 2011</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry'>

<a name='8101675546221953092'></a>
<h3 class='post-title entry-title'>
Gavin King unveils Red Hat's Java <strike>killer</strike> successor: The Ceylon Project
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-8101675546221953092'>
<a href="http://3.bp.blogspot.com/-cyMzveP3IvQ/TaR7f3qkYmI/AAAAAAAAAIk/mrChE-G0b5c/s1600/Java.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="http://3.bp.blogspot.com/-cyMzveP3IvQ/TaR7f3qkYmI/AAAAAAAAAIk/mrChE-G0b5c/s200/Java.png" style="border-width: 0;" width="200" /></a><a href="http://in.relation.to/Bloggers/Gavin">Gavin King</a> of Red Hat/Hibernate/Seam fame recently unveiled the top secret project that he has been working on over the past two years, a new language and SDK designed to replace Java in the enterprise. The project came out of hiding without much fanfare or publicity at <a href="http://www.qconferences.com/">QCon</a> <a href="http://www.qconbeijing.com/">Beijing</a> in a keynote titled "<a href="http://www.qconbeijing.com/ShowNews.aspx?id=65">The Ceylon Project - the next generation of Java language?</a>".  It took a fair amount of Google translate for me to get to the relevant <a href="http://www.qconbeijing.com/download/Gavin%20keynote.pdf">slide</a> <a href="http://www.qconbeijing.com/download/Gavin%20session.pdf">decks</a>, (Embedded <a href="#slides">below</a>) but once I found them, the information was all there in plain English.<br />

<br />
According to the slides, the Ceylon Project aims to create a programming language and SDK for business computing, designed with an eye to the successes and failures of the Java. It is built to run on the JVM, uses static typing, and supports high-order functions, while maintaining a strong focus on being easy learn and easy to read.<br />
<br />
If you ask, me it sounds like just what the doctor ordered. Java is great, it is an extremely popular, open(ish), robust, readable language that as a ton of superb libraries. However it is burdened by its legacy and cant seem to evolve enough to match the levels productivity and fun seen in more recently developed languages like Groovy, Python and C#, with C# being the most apropos comparison due to its statics typing and enterprise focus.<br />
<br />
I've been eagerly waiting on the tech media to devour the details of this controversial effort and spew forth a riveting combination of analysis and hypothesis. Up till now, there has been nothing but crickets chirping so I figured I'd get the ball rolling with a layman's blog post.<br />
<div class="fullpost"><h4>&nbsp;</h4><h4>What I like</h4><ol><li>The overall vision: learn from Java's mistakes, keep the good, ditch the bad</li>
<li>The focus on readability and ease of learning/use</li>
<li>Static Typing (find errors at compile time, not run time)</li>
<li>No &#8220;special&#8221; types, everything is an object</li>

<li>Named and Optional parameters (<a href="http://en.wikipedia.org/wiki/C_Sharp_4.0">C# 4.0</a>)<br />
</li>
<li><a href="http://en.wikipedia.org/wiki/Nullable_type">Nullable types</a> (<a href="http://en.wikipedia.org/wiki/C_Sharp_2.0">C# 2.0</a>)<br />
</li>
<li>No need for explicit getter/setters until you are ready for them (<a href="http://en.wikipedia.org/wiki/C_Sharp_3.0">C# 3.0</a>)</li>
<li>Type inference via the "local" keyword (C# 3.0 "var")</li>

<li>Sequences (arrays) and their accompanying <span id="hotword"><span id="hotword" name="hotword" style="background-color: transparent; cursor: default;"></span></span>syntactic sugariness (C# 3.0)</li>
<li>Straight-forward implementation of <a href="http://en.wikipedia.org/wiki/Higher-order_function">higher-order functions</a></li>
</ol><h4>Things that may grow on me</h4><ol><li>The new assignment operator ":="</li>
<li>The new string interpolation syntax</li>
<li>The new types: Natural, Numeric, etc</li>
<li>Classes, Methods and Attributes looking almost identical...can't decide if that is good or bad<br />
</li>
</ol><h4>Things that make me go hmmm</h4><ol><li>All the new keywords for existing concepts: shared, satisfies, assign, variable, local<br />

</li>
<li>The simplification of the public/protected/private access/visibility levels</li>
<li>The Smalltalk-like syntax for inline functions as parameters</li>
</ol><h4>Things I didn't fully get</h4><ol><li>The Closure and block structure examples had some things that were a little puzzling. e.g. the "name" attribute of type "Name" returns "Name(&#8220;Gavin&#8221;, &#8220;King&#8221;)"</li>
<li>Some of the more intricate details of the type system..<br />
</li>
</ol><br />
While I am still waiting to hear some opinionated analysis from people who study theses things for a living, I am cautiously optimistic about the direction things are headed. I think the Java/Open Source/Programming world needs a language like this. Nevertheless, there are a number of factors that could affect whether or not the project gains momentum.<br />

<br />
For one, while a lot of work has clearly gone into the language design, a production ready compiler and SDK a clearly still a ways off.  That means that there is still a lot of work left to be done, especially if they plan to try and address the modularity issues that they claim Maven and OSGI have failed to solve.  I would also love to see how Ceylon handles integration with existing Java code/libraries...smooth integration/compatibility is key for any pretender to the throne.<br />
<br />
Additionally, I don't think Red Hat can do it alone, it is going to take buy in from the Java/Open Source community to really get things going.  Google and Apache are two names that spring to mind, but that then immediately raises the question about where Ceylon comes into play in the ongoing power struggle between Oracle, Google and Apache over the rights to use Java without  limitation.  Could Ceylon become a key piece in the puzzle and spur an influx of supporters? Or will it simply raise Oracle's ire and force IBM to keep its distance?<br />
<br />
I for one welcome our new <a href="http://en.wikipedia.org/wiki/Cylon_%28Battlestar_Galactica%29"><s>Cylon</s></a> <a href="http://en.wikipedia.org/wiki/Ceylon_%28disambiguation%29">Ceylon</a> overlords.  Its going to be interesting to watch and see how it all plays out.<br />
<br />
<b>Update: </b><a href="http://in.relation.to/Bloggers/Ceylon">Gavin has posted a response</a> highlighting two reasons for not reusing one of the many existing languages targeting the JVM (1) A built in solution for "defining user interfaces and structured data using a typesafe, hierarchical syntax" i.e. less dependency on XML (2) "The extremely outdated class libraries that form the Java SE SDK are  riddled with problems. Developing a great SDK is a top priority of the  project."<br />

<br />
<b>Update 2</b>: <a href="http://www.infoq.com/news/2011/04/ceylon">InfoQ has posted an article</a> which includes a Q&amp;A with Gavin King.<br />
<br />
Embedded slides courtesy of&nbsp; <a href="http://www.slideshare.net/devstonez" id="slides" name="slides">devstonez</a><br />
<div id="__ss_7611390" style="width: 510px;"><b style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/devstonez/introducing-the-ceylon-project-gavin-king-presentation-at-qcon-beijing-2011" title="Introducing the Ceylon Project - Gavin King presentation at QCon Beijing 2011">Introducing the Ceylon Project - Gavin King presentation at QCon Beijing 2011</a></b> <iframe frameborder="0" height="426" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/7611390?rel=0" width="510"></iframe> <br />

<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/devstonez">devstonez</a> </div></div><br />
<div id="__ss_7611835" style="width: 510px;"><b style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/devstonez/the-ceylon-type-system-gavin-king-presentation-at-qcon-beijing-2011" title="The Ceylon Type System - Gavin King presentation at QCon Beijing 2011">The Ceylon Type System - Gavin King presentation at QCon Beijing 2011</a></b> <iframe frameborder="0" height="426" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/7611835?rel=0" width="510"></iframe> <br />
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/devstonez">devstonez</a> </div></div><br />

</div>
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'><span class='post-author vcard'>
Posted by
<span class='fn'>Marc Richards</span>
</span>
<span class='post-timestamp'>
at
<a class='timestamp-link' href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html' rel='bookmark' title='permanent link'><abbr class='published' title='2011-04-11T22:19:00-05:00'>10:19 PM</abbr></a>
</span>
<span class='post-comment-link'>
</span>
<div class='post-share-buttons goog-inline-block'>

<a class='goog-inline-block share-button sb-email' href='http://www.blogger.com/share-post.g?blogID=1362481190840665151&postID=8101675546221953092&target=email' target='_blank' title='Email This'>
<span class='share-button-link-text'>Email This</span>
</a><a class='goog-inline-block share-button sb-blog' href='http://www.blogger.com/share-post.g?blogID=1362481190840665151&postID=8101675546221953092&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'>
<span class='share-button-link-text'>BlogThis!</span>
</a><a class='goog-inline-block share-button sb-twitter' href='http://www.blogger.com/share-post.g?blogID=1362481190840665151&postID=8101675546221953092&target=twitter' target='_blank' title='Share to Twitter'>
<span class='share-button-link-text'>Share to Twitter</span>
</a><a class='goog-inline-block share-button sb-facebook' href='http://www.blogger.com/share-post.g?blogID=1362481190840665151&postID=8101675546221953092&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'>
<span class='share-button-link-text'>Share to Facebook</span>
</a><a class='goog-inline-block share-button sb-buzz' href='http://www.blogger.com/share-post.g?blogID=1362481190840665151&postID=8101675546221953092&target=buzz' onclick='window.open(this.href, "_blank", "height=415,width=690"); return false;' target='_blank' title='Share to Google Buzz'>
<span class='share-button-link-text'>Share to Google Buzz</span>
</a>
</div>

<span class='post-icons'>
<span class='item-action'>
<a href='http://www.blogger.com/email-post.g?blogID=1362481190840665151&postID=8101675546221953092' title='Email Post'>
<img alt='' class='icon-action' height='13' src='http://img1.blogblog.com/img/icon18_email.gif' width='18'/>
</a>
</span>
<span class='item-control blog-admin pid-248203325'>
<a href='http://www.blogger.com/post-edit.g?blogID=1362481190840665151&postID=8101675546221953092' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
</div>
<div class='post-footer-line post-footer-line-2'></div>
<div class='post-footer-line post-footer-line-3'></div>
</div>
</div>

<div class='comments' id='comments'>
<a name='comments'></a>
<h4>
96
comments:
        
</h4>
<div id='Blog1_comments-block-wrapper'>
<dl class='avatar-comment-indent' id='comments-block'>
<dt class='comment-author ' id='c1424319029636111810'>
<a name='c1424319029636111810'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/07913865533500165530" rel="nofollow" onclick="" class="avatar-hovercard" id="av-0-07913865533500165530"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Nesta">

</a></span></div>
<a href='http://www.blogger.com/profile/07913865533500165530' rel='nofollow'>Nesta</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1424319029636111810'>

<p>
How do you think it compares to efforts like Scala and why not focus on those instead? <br /><br />Oh, one little nitpick - Python is older than Java :)
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302625801547#c1424319029636111810' title='comment permalink'>
April 12, 2011 11:30 AM
</a>
<span class='item-control blog-admin pid-1386852193'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1424319029636111810' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>

<dt class='comment-author blog-author' id='c6241726169650840815'>
<a name='c6241726169650840815'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/07627402908638807501" rel="nofollow" onclick="" class="avatar-hovercard" id="av-1-07627402908638807501"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Marc Richards">

</a></span></div>
<a href='http://www.blogger.com/profile/07627402908638807501' rel='nofollow'>Marc Richards</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6241726169650840815'>
<p>
Don&#39;t know enough about Scala to comment, but  I guess from their perspective it doesn&#39;t meet the requirements outlined on page 10 of the slide deck.
</p>
</dd>
<dd class='comment-footer'>

<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302626961480#c6241726169650840815' title='comment permalink'>
April 12, 2011 11:49 AM
</a>
<span class='item-control blog-admin pid-248203325'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6241726169650840815' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5530612740151356404'>
<a name='c5530612740151356404'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://neurokode.com" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="jmf">

</a></span></div>
<a href='http://neurokode.com' rel='nofollow'>jmf</a>

said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5530612740151356404'>
<p>
:= is not new by any means.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302661766163#c5530612740151356404' title='comment permalink'>
April 12, 2011 9:29 PM
</a>
<span class='item-control blog-admin pid-912346193'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=5530612740151356404' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>

</span>
</dd>
<dt class='comment-author ' id='c4123108550779340044'>
<a name='c4123108550779340044'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4123108550779340044'>
<p>
Well there is Scala, Clojure and so many similar languages (besides Python/Jython) that adding yet another new language just adds to the cacophony....
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302663299511#c4123108550779340044' title='comment permalink'>

April 12, 2011 9:54 PM
</a>
<span class='item-control blog-admin pid-480284454'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4123108550779340044' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3830971413878174097'>
<a name='c3830971413878174097'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3830971413878174097'>

<p>
As if the world didn&#39;t need yet another enterprise language that will solve all problems
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302663481504#c3830971413878174097' title='comment permalink'>
April 12, 2011 9:58 PM
</a>
<span class='item-control blog-admin pid-1736378415'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3830971413878174097' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>

<dt class='comment-author ' id='c122415806143452987'>
<a name='c122415806143452987'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-122415806143452987'>
<p>
Why not just fix JVM so that it can run C#? Real generics would be nice...
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302663734019#c122415806143452987' title='comment permalink'>
April 12, 2011 10:02 PM
</a>

<span class='item-control blog-admin pid-1187387299'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=122415806143452987' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c1959877298573874549'>
<a name='c1959877298573874549'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1959877298573874549'>
<p>
Business oriented? Easy to learn, easy to read? Funky syntax, weird keywords? They&#39;ve invented VB!

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302664041363#c1959877298573874549' title='comment permalink'>
April 12, 2011 10:07 PM
</a>
<span class='item-control blog-admin pid-978559521'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1959877298573874549' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7403067895311205297'>
<a name='c7403067895311205297'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7403067895311205297'>
<p>
Static languages are very constraining.<br />Dynamic ones with unit tests are the way to go!
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302664574888#c7403067895311205297' title='comment permalink'>
April 12, 2011 10:16 PM
</a>
<span class='item-control blog-admin pid-1893845257'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7403067895311205297' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4582940149748013521'>
<a name='c4582940149748013521'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4582940149748013521'>
<p>
Agree completely w/ the previous poster; static typing is what single-handedly kills Java.
</p>
</dd>

<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302665111988#c4582940149748013521' title='comment permalink'>
April 12, 2011 10:25 PM
</a>
<span class='item-control blog-admin pid-2141126964'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4582940149748013521' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c9132792013358996530'>
<a name='c9132792013358996530'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>

Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-9132792013358996530'>
<p>
Static typing makes baby jesus cry. I&#39;ll stick with my good old smalltalk, but thanks for the try.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302665174501#c9132792013358996530' title='comment permalink'>
April 12, 2011 10:26 PM
</a>
<span class='item-control blog-admin pid-1954665847'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=9132792013358996530' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>

</span>
</span>
</dd>
<dt class='comment-author ' id='c2793779620524353163'>
<a name='c2793779620524353163'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2793779620524353163'>
<p>
dynamic languages, unit tests. lol try building an enterprise ruby app. They don&#39;t exist. Read the text that is being written above, parse it for words like enterprise, then figure out which tool fits. :)
</p>
</dd>
<dd class='comment-footer'>

<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302665466068#c2793779620524353163' title='comment permalink'>
April 12, 2011 10:31 PM
</a>
<span class='item-control blog-admin pid-543786083'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2793779620524353163' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2143658109825632407'>
<a name='c2143658109825632407'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/08952047232699213114" rel="nofollow" onclick="" class="avatar-hovercard" id="av-11-08952047232699213114"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="JS">

</a></span></div>
<a href='http://www.blogger.com/profile/08952047232699213114' rel='nofollow'>JS</a>

said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2143658109825632407'>
<p>
Give me Python anytime.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302665586414#c2143658109825632407' title='comment permalink'>
April 12, 2011 10:33 PM
</a>
<span class='item-control blog-admin pid-776679862'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2143658109825632407' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>

</span>
</dd>
<dt class='comment-author ' id='c3568844350128700466'>
<a name='c3568844350128700466'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3568844350128700466'>
<p>
You lost me at &quot;business computing.&quot;
</p>
</dd>
<dd class='comment-footer'>

<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302666008684#c3568844350128700466' title='comment permalink'>
April 12, 2011 10:40 PM
</a>
<span class='item-control blog-admin pid-149535298'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3568844350128700466' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c9170301469485797065'>
<a name='c9170301469485797065'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/08078684337177177862" rel="nofollow" onclick="" class="avatar-hovercard" id="av-13-08078684337177177862"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="http://3.bp.blogspot.com/_D4p_w7vjKPI/TD0Sk--c0aI/AAAAAAAAAAk/rgEz5VPHUGA/S45/fogbeam_logo_small.png" title="Fogbeam Phil">

<noscript><img src="http://3.bp.blogspot.com/_D4p_w7vjKPI/TD0Sk--c0aI/AAAAAAAAAAk/rgEz5VPHUGA/S45/fogbeam_logo_small.png" width="35" height="35" class="photo" alt=""></noscript></a></span></div>

<a href='http://www.blogger.com/profile/08078684337177177862' rel='nofollow'>Fogbeam Phil</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-9170301469485797065'>
<p>
&quot;Yet another JVM Language&quot; doesn&#39;t strike me as anything special, at least not without more details. The JVM already runs Java, Groovy, JRuby, Jython, Scala, Clojure, Nice, Fantom, PNuts, Beanshell, Yeti, Erjang, Rhino and probably 100 more languages I don&#39;t know about.<br /><br />If the Enterprise world needs anything new in the Java vein, it&#39;s a VM that can match the performance of the JVM, but without all of the patent and IP baggage, hung around it&#39;s like neck an Oracle branded albatross.  But a whole new runtime means - most likely - losing the advantage of seamless interop with all those existing Java libraries, which will make it that much harder to sell.
</p>
</dd>
<dd class='comment-footer'>

<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302666089528#c9170301469485797065' title='comment permalink'>
April 12, 2011 10:41 PM
</a>
<span class='item-control blog-admin pid-2092886811'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=9170301469485797065' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c8914891829501268259'>
<a name='c8914891829501268259'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...

</dt>
<dd class='comment-body' id='Blog1_cmt-8914891829501268259'>
<p>
If you like this you probably ought to go read about Gosu.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302666135517#c8914891829501268259' title='comment permalink'>
April 12, 2011 10:42 PM
</a>
<span class='item-control blog-admin pid-1358370589'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8914891829501268259' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>

</dd>
<dt class='comment-author ' id='c8487906359073917404'>
<a name='c8487906359073917404'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8487906359073917404'>
<p>
.net is available on windows, linux, ios, and android.  Why do we need something else?  C# is a very nice language.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302666396176#c8487906359073917404' title='comment permalink'>
April 12, 2011 10:46 PM

</a>
<span class='item-control blog-admin pid-156487868'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8487906359073917404' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c115378652829473613'>
<a name='c115378652829473613'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-115378652829473613'>
<p>

Perl anyone
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302666536795#c115378652829473613' title='comment permalink'>
April 12, 2011 10:48 PM
</a>
<span class='item-control blog-admin pid-1457640072'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=115378652829473613' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c8109152517542825158'>
<a name='c8109152517542825158'></a>

<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8109152517542825158'>
<p>
Fogbeam:<br />A whole different runtime would still probably infringe numerous patents if it were a VM a this point in history.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302666622373#c8109152517542825158' title='comment permalink'>
April 12, 2011 10:50 PM
</a>
<span class='item-control blog-admin pid-210281062'>

<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8109152517542825158' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c1009559331501627366'>
<a name='c1009559331501627366'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1009559331501627366'>
<p>
Everyone stop wasting time, and start porting Haskell to the JVM already.
</p>

</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302667755593#c1009559331501627366' title='comment permalink'>
April 12, 2011 11:09 PM
</a>
<span class='item-control blog-admin pid-1242509042'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1009559331501627366' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c411252031756661175'>
<a name='c411252031756661175'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-411252031756661175'>
<p>
I&#39;d prefer to so Component Pascal implemented on the Java machine.  Component Pascal is solid and debugged, clean, and simple and capable of implementing anything you can dream up.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302668059213#c411252031756661175' title='comment permalink'>
April 12, 2011 11:14 PM
</a>
<span class='item-control blog-admin pid-1503210001'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=411252031756661175' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>

</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c8501718291174108481'>
<a name='c8501718291174108481'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8501718291174108481'>
<p>
Why no one talks about Groovy?
</p>
</dd>
<dd class='comment-footer'>

<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302668666641#c8501718291174108481' title='comment permalink'>
April 12, 2011 11:24 PM
</a>
<span class='item-control blog-admin pid-81204190'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8501718291174108481' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c8160434746079416286'>
<a name='c8160434746079416286'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/08961030873754307290" rel="nofollow" onclick="" class="avatar-hovercard" id="av-21-08961030873754307290"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Ravi Shakya">

</a></span></div>
<a href='http://www.blogger.com/profile/08961030873754307290' rel='nofollow'>Ravi Shakya</a>

said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8160434746079416286'>
<p>
Its features will determine its survival and popularity.<br />If it&#39;s good, we ll take it by horns!
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302668713850#c8160434746079416286' title='comment permalink'>
April 12, 2011 11:25 PM
</a>
<span class='item-control blog-admin pid-1753914694'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8160434746079416286' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>

</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6069306607317367216'>
<a name='c6069306607317367216'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6069306607317367216'>
<p>
To Anonymous who equates &#39;Static&#39; language and enterprise:  Google&#39;s language of choice I read was Python (dynamic).  And this thing they call the www is primarily dynamic links being parsed dynamically.  There is nothing static about the world: therefore it makes little sense for a programming language designed to model the world to be static.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302668726572#c6069306607317367216' title='comment permalink'>
April 12, 2011 11:25 PM
</a>
<span class='item-control blog-admin pid-1893845257'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6069306607317367216' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c1310326541255869956'>
<a name='c1310326541255869956'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1310326541255869956'>
<p>
&quot;.net is available on windows, linux, ios, and android. Why do we need something else? C# is a very nice language.&quot;<br /><br />Lets slice this up.  .net Windows you have to pay for a windows license.  ios You have to pay for the development environment.  Android have to pay for the development environment.  Linux question mark.  Linux is about the only part of .net where you are not paying Microsoft.<br /><br />Hmm .net does not sound that good.  Now Linux Windows IOS and Android under .net don&#39;t have the same interface libs that work.  This is just getting worse.  Code 3 times to get results.<br /><br />QT comes to mind as a better solution using C++.  Only have to pay if developing someone where I will not be giving back the alterations to QT.  Covers the same platforms and more.  Ok does not cover WP7 but at the way things are looking that might be gone in a few years.  Even QML starts looking like a decent solution compared to .net.<br /><br />Ceylon might be nice.  It will be interesting to see if it has a covert to native code out box.  So it can proper be used in embed.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302669249601#c1310326541255869956' title='comment permalink'>

April 12, 2011 11:34 PM
</a>
<span class='item-control blog-admin pid-1494823429'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1310326541255869956' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c764414399234289216'>
<a name='c764414399234289216'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-764414399234289216'>

<p>
What we need is an engine that administers a Meyer-Briggs test and then custom designs a scripting language ideally suited to our uniqueness.  Because each of us is special!  It&#39;s a small world after all, it&#39;s a small world ... OK, I&#39;ll stop now.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302669686280#c764414399234289216' title='comment permalink'>
April 12, 2011 11:41 PM
</a>
<span class='item-control blog-admin pid-135347415'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=764414399234289216' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>

</span>
</dd>
<dt class='comment-author ' id='c4009961473636687434'>
<a name='c4009961473636687434'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4009961473636687434'>
<p>
Haskell won&#39;t have very good performance in JVM. No proper support for immutability.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>

<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302673430775#c4009961473636687434' title='comment permalink'>
April 13, 2011 12:43 AM
</a>
<span class='item-control blog-admin pid-1786858774'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4009961473636687434' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2152075215212516421'>
<a name='c2152075215212516421'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/11282484801526539091" rel="nofollow" onclick="" class="avatar-hovercard" id="av-26-11282484801526539091"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="http://2.bp.blogspot.com/-ilVhlMebwsM/TaBV7d8SQqI/AAAAAAAAByo/8FQY-uvgO08/s45/180163_497790382361_679367361_6086950_3938256_n.jpg" title="Diego Fern&aacute;ndez">

<noscript><img src="http://2.bp.blogspot.com/-ilVhlMebwsM/TaBV7d8SQqI/AAAAAAAAByo/8FQY-uvgO08/s45/180163_497790382361_679367361_6086950_3938256_n.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/11282484801526539091' rel='nofollow'>Diego Fernández</a>

said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2152075215212516421'>
<p>
Marc the slide 10 that you mention describes the same features as Scala.<br />(well the only different part is &quot;easy to learn&quot;, since Scala basics are easy but other concepts requires more time)<br /><br />About Ceylon, I&#39;m not so optimist as you: <br />- They don&#39;t have a working compiler yet<br />- Some of the items in slide 4, makes me doubt about the knowledge of the author in programming language design <br />- The examples shows type inference only for locals (making the static typing a pain to write as in Java)<br />- They talk about built-in modularity but it seems that they are in an early stage of the language design (built-in modularity is a difficult thing to design right, google for Newspeak and Gillad Bracha blog... he wrote some nice reflections on modularity and language design)
</p>
</dd>

<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302673584080#c2152075215212516421' title='comment permalink'>
April 13, 2011 12:46 AM
</a>
<span class='item-control blog-admin pid-1302366123'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2152075215212516421' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2443928573189337977'>
<a name='c2443928573189337977'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>

Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2443928573189337977'>
<p>
I am no english native so I have a question:<br /><br />When you say &quot;Things that make me go hmmm&quot; what do you mean, things that make you horny or things that get you frustrated?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302674166990#c2443928573189337977' title='comment permalink'>
April 13, 2011 12:56 AM
</a>
<span class='item-control blog-admin pid-689700498'>

<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2443928573189337977' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c6658773565991879725'>
<a name='c6658773565991879725'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/07627402908638807501" rel="nofollow" onclick="" class="avatar-hovercard" id="av-28-07627402908638807501"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Marc Richards">

</a></span></div>
<a href='http://www.blogger.com/profile/07627402908638807501' rel='nofollow'>Marc Richards</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6658773565991879725'>
<p>

@Anonymous (12:56 AM) <br />LOL. I mean things that seem like a bad idea. At least to a layman like myself.<br /><br />@Diego <br />There is definitely a lot of work left to be done. With respect to type inference apply to locals only, I think the same restriction applies in C#. Personally I am a fan of the type inference in C#.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302675163335#c6658773565991879725' title='comment permalink'>
April 13, 2011 1:12 AM
</a>
<span class='item-control blog-admin pid-248203325'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6658773565991879725' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>

</dd>
<dt class='comment-author ' id='c4643297740363249720'>
<a name='c4643297740363249720'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4643297740363249720'>
<p>
To the non-english speaking Anonymous..<br /><br />&quot;Things that make me go hmmm&quot; means &quot;Things that make me think and consider deeply&quot;
</p>

</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302675188702#c4643297740363249720' title='comment permalink'>
April 13, 2011 1:13 AM
</a>
<span class='item-control blog-admin pid-1309519338'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4643297740363249720' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c9044426695521438359'>
<a name='c9044426695521438359'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-9044426695521438359'>
<p>
Forcing programmers to type := is enough to make them hate this language. Why do they want us to hit the shift key every time we assign to variables? Are they sadists?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302675425048#c9044426695521438359' title='comment permalink'>
April 13, 2011 1:17 AM
</a>
<span class='item-control blog-admin pid-1398669136'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=9044426695521438359' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>

</span>
</span>
</dd>
<dt class='comment-author ' id='c1716251260935881772'>
<a name='c1716251260935881772'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://blog.samplonius.org" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Tom Samplonius">

</a></span></div>
<a href='http://blog.samplonius.org' rel='nofollow'>Tom Samplonius</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1716251260935881772'>
<p>
.NET is just a Windows only solution right now.  Mono is just a bad joke.  Mono lags the .NET framework by at least one major release.  And if you fire up the new Visual Studio, and use some wizards, you&#39;ll no doubt compile code that uses features that aren&#39;t present in Mono.<br /><br />The Mono developers are bogged down re-implementing tens of thousands of API methods that Microsoft keeps adding to the framework.  And since there is no standard regression kit available, wanna guess how many of those methods work the same on all platforms?  The Java TCK may be restrictive, but is available, and it verifies that your Java is actually Java.  MS offers nothing for that.<br /><br />Why doesn&#39;t MS just port the .NET VM to Linux, and just release it as a binary?  That would at least give their Visual Studio sales a shot in the arm.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302675525393#c1716251260935881772' title='comment permalink'>
April 13, 2011 1:18 AM
</a>
<span class='item-control blog-admin pid-22730035'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1716251260935881772' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c9174047737722860230'>
<a name='c9174047737722860230'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-9174047737722860230'>
<p>
Or you could just use Java.  And I don&#39;t see how adding a bunch more &quot;high concept&quot; abstract language components will make it easier to learn.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302676055315#c9174047737722860230' title='comment permalink'>
April 13, 2011 1:27 AM

</a>
<span class='item-control blog-admin pid-337970681'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=9174047737722860230' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3844826926135392392'>
<a name='c3844826926135392392'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3844826926135392392'>
<p>

.net isn&#39;t a real language. It&#39;s a Microsoft disaster. It only pretends to work on other non-microsoft platforms.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302676328493#c3844826926135392392' title='comment permalink'>
April 13, 2011 1:32 AM
</a>
<span class='item-control blog-admin pid-1045235831'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3844826926135392392' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>

<dt class='comment-author ' id='c4381842410684691057'>
<a name='c4381842410684691057'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4381842410684691057'>
<p>
Multiprocessors are what&#39;s going to kill java, along with every other OO language. Learn haskell before it&#39;s too late!
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302676638175#c4381842410684691057' title='comment permalink'>

April 13, 2011 1:37 AM
</a>
<span class='item-control blog-admin pid-1457665717'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4381842410684691057' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2465677341600365599'>
<a name='c2465677341600365599'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2465677341600365599'>

<p>
To all those anons saying static languages are bad. You are wrong. See &quot;What To Know Before Debating Type Systems&quot; http://cdsmith.wordpress.com/2011/01/09/an-old-article-i-wrote/
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302676849123#c2465677341600365599' title='comment permalink'>
April 13, 2011 1:40 AM
</a>
<span class='item-control blog-admin pid-1401719328'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2465677341600365599' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>

</span>
</dd>
<dt class='comment-author ' id='c7650689509098726641'>
<a name='c7650689509098726641'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/04401794045739027707" rel="nofollow" onclick="" class="avatar-hovercard" id="av-36-04401794045739027707"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="elimisteve">

</a></span></div>
<a href='http://www.blogger.com/profile/04401794045739027707' rel='nofollow'>elimisteve</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7650689509098726641'>
<p>
As a Python and Ruby programmer, I also thought that static typing was a deal-breaker... until I found Google&#39;s new systems programming language: Go. I love it -- it&#39;s basically a modern dialect of C (NOT C++), but with garbage collection and brilliant concurrency primitives. http://golang.org
</p>

</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302677672564#c7650689509098726641' title='comment permalink'>
April 13, 2011 1:54 AM
</a>
<span class='item-control blog-admin pid-882932475'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7650689509098726641' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c8900669001531141690'>
<a name='c8900669001531141690'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.maths.manchester.ac.uk/~burdges/" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Jeff Burdges">

</a></span></div>
<a href='http://www.maths.manchester.ac.uk/~burdges/' rel='nofollow'>Jeff Burdges</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8900669001531141690'>
<p>
I&#39;m doubtful that another java knock off helps all that much, especially given the LLVM may eventually eat java&#39;s lunch on the server side.<br /><br />We need a compiled statically typed functional language with good high speed code generation via LLVM that encourages parallelism.<br /><br />* Erlang has shown how functional languages can obliterate imperative languages for multithreading, but Erlang&#39;s interpreted bytecode system necessitates occasionally using C for performance.<br /><br />* Haskell has shown all manor of advantages of functional languages, but lazy execution makes the compiled code execution speed fundamentally unpredictable, well unless you use the profiling tools deftly.<br /><br />* OCaml offers solid predictable code performance, albeit not nearly so well optimized as other languages, but handles parallelization poorly relative to Erlang and Haskell.<br /><br />There is a slight possibility that Haskell could grow into this language by offering more Erlang style parallelism, but that&#39;d necessitate creating a &#39;culture of profiling&#39;, which frankly sounds both unnecessary and impossible.<br /><br />We should probably be looking towards a non-lazy functional language that offers the power of Haskell&#39;s type system and Erlang&#39;s concurrency.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302678157910#c8900669001531141690' title='comment permalink'>
April 13, 2011 2:02 AM
</a>
<span class='item-control blog-admin pid-1118375411'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8900669001531141690' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3835526073684769712'>
<a name='c3835526073684769712'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3835526073684769712'>
<p>
Scala, Clojure, Groovy. Nuffsaid.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302679304574#c3835526073684769712' title='comment permalink'>
April 13, 2011 2:21 AM
</a>
<span class='item-control blog-admin pid-602665425'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3835526073684769712' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>

</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5300561184245575798'>
<a name='c5300561184245575798'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/13803337489522460981" rel="nofollow" onclick="" class="avatar-hovercard" id="av-39-13803337489522460981"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Daniel Harper">

</a></span></div>
<a href='http://www.blogger.com/profile/13803337489522460981' rel='nofollow'>Daniel Harper</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5300561184245575798'>
<p>
Jeff Burdges<br /><br />&gt; We should probably be looking towards a non-lazy functional language that offers the power of Haskell&#39;s type system and Erlang&#39;s concurrency.<br /><br />sounds like you&#39;re describing Scala to me. Granted it&#39;s not purely functional.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302679427252#c5300561184245575798' title='comment permalink'>
April 13, 2011 2:23 AM
</a>
<span class='item-control blog-admin pid-1567931374'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=5300561184245575798' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7177908748710231991'>
<a name='c7177908748710231991'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7177908748710231991'>
<p>
For dynamic language fanatics, reading http://existentialtype.wordpress.com/2011/03/19/dynamic-languages-are-static-languages/ might help.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302680882909#c7177908748710231991' title='comment permalink'>
April 13, 2011 2:48 AM
</a>
<span class='item-control blog-admin pid-531259085'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7177908748710231991' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>

</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5212845330629316071'>
<a name='c5212845330629316071'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5212845330629316071'>
<p>
I love static typing, especially if it has this proper generics and type inference. seems very nice, hope to be able to try it soon!<br />Also I think the title is misleading, this isn&#39;t a Java killer but the best opportunity around to get new life in it.<br /><br />Indeed it has many similarities with scala, but looks like a striking better syntax.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302681605940#c5212845330629316071' title='comment permalink'>
April 13, 2011 3:00 AM
</a>
<span class='item-control blog-admin pid-1057720773'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=5212845330629316071' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c8452141076012462508'>
<a name='c8452141076012462508'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8452141076012462508'>
<p>
In attempting to be all things to all people, Scala is at risk of disappearing up its own complexity.  Groovy is fun but slightly undercooked.  Clojure is sensational, but is also mind-bending (immutability, general arcane lispyness).  My suspicion is that Ceylon will be join that conga line of newbies, but definitely won&#39;t be the last word.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302683263549#c8452141076012462508' title='comment permalink'>
April 13, 2011 3:27 AM
</a>
<span class='item-control blog-admin pid-445266684'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8452141076012462508' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5376622206977934607'>
<a name='c5376622206977934607'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5376622206977934607'>
<p>
I love static typing, can I have your static typing? (And the vikings in the background are chanting &quot;Static typing, static typing...&quot;)

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302683531379#c5376622206977934607' title='comment permalink'>
April 13, 2011 3:32 AM
</a>
<span class='item-control blog-admin pid-1791413920'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=5376622206977934607' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c9024247866021353489'>
<a name='c9024247866021353489'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-9024247866021353489'>
<p>
There&#39;s no need for this newfangled Ceylon thingy.  What about 6502 assembler?  Programming has been going downhill since we went past an accumulator and two index registers.  That kept things nice and clean and efficient.  Try static typing an index register bitches!
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302683591678#c9024247866021353489' title='comment permalink'>
April 13, 2011 3:33 AM
</a>
<span class='item-control blog-admin pid-215882253'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=9024247866021353489' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7958587013033742646'>
<a name='c7958587013033742646'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7958587013033742646'>
<p>
Isn&#39;t this whole static/dynamic business really about &quot;correctness&quot;?  Static typing lets you essentially prove that the program will behave the way you want. Dynamic typing seems like a way of avoiding that proof until it&#39;s too late to do something about it....

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302684584632#c7958587013033742646' title='comment permalink'>
April 13, 2011 3:49 AM
</a>
<span class='item-control blog-admin pid-445266684'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7958587013033742646' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3413881895628411181'>
<a name='c3413881895628411181'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3413881895628411181'>
<p>
Slide 10 of his preso does NOT describe Scala cos Scala is not &quot;readable&quot; or &quot;easy to learn and understand&quot;.  See this for several billion ways to open and read the contents of a file: http://stackoverflow.com/questions/1284423/read-entire-file-in-scala.<br /><br />We need a language that&#39;s as friendly and enthusiastic as a snuggly puppy (like Groovy), but with a grown up type system.  The latter probably means _optional_ typing rather than dynamic.  Really dynamic typing (I&#39;m thinking Ruby) just makes it hard to work out what someone else&#39;s code is supposed to be doing.  I want to type things when it makes sense and not type them when I need the flexibility.<br /><br />Maybe Ceylon is it?

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302686169787#c3413881895628411181' title='comment permalink'>
April 13, 2011 4:16 AM
</a>
<span class='item-control blog-admin pid-445266684'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3413881895628411181' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2104552908721625473'>
<a name='c2104552908721625473'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/13803337489522460981" rel="nofollow" onclick="" class="avatar-hovercard" id="av-47-13803337489522460981"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Daniel Harper">

</a></span></div>
<a href='http://www.blogger.com/profile/13803337489522460981' rel='nofollow'>Daniel Harper</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2104552908721625473'>
<p>
I personally am finding Scala easy to read and understand. If you&#39;ve done Ruby and Java and maybe a hint of Haskell for functional development, Scala is a breeze to pick up.<br /><br />Scala 2.8 has a few decent io libraries to make reading a file relatively simple<br /><br />io.Source.fromFile(&quot;myfile.txt&quot;)<br /><br />I think they&#39;re planning on expanding this even further for 2.9
</p>

</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302686987755#c2104552908721625473' title='comment permalink'>
April 13, 2011 4:29 AM
</a>
<span class='item-control blog-admin pid-1567931374'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2104552908721625473' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c142134503961544040'>
<a name='c142134503961544040'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-142134503961544040'>
<p>
I think that Scala will replace Java in the long term.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302687067356#c142134503961544040' title='comment permalink'>
April 13, 2011 4:31 AM
</a>
<span class='item-control blog-admin pid-1980923871'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=142134503961544040' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>

</span>
</span>
</dd>
<dt class='comment-author ' id='c8698485063424598992'>
<a name='c8698485063424598992'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/01366131922305820386" rel="nofollow" onclick="" class="avatar-hovercard" id="av-49-01366131922305820386"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Scot">

</a></span></div>
<a href='http://www.blogger.com/profile/01366131922305820386' rel='nofollow'>Scot</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8698485063424598992'>
<p>
Jeff Burdges<br /><br />&gt; We should probably be looking towards a non-lazy functional language that offers the power of Haskell&#39;s type system and Erlang&#39;s concurrency.<br /><br />If the goal is an easy to learn, &quot;enterprise oriented&quot; language then a Haskell/Erlang derivative is not it. A language that is to C# as C# is to Java would better fit the bill.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302687395299#c8698485063424598992' title='comment permalink'>
April 13, 2011 4:36 AM
</a>
<span class='item-control blog-admin pid-556916210'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=8698485063424598992' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c498052017995941059'>
<a name='c498052017995941059'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/15087386360397015468" rel="nofollow" onclick="" class="avatar-hovercard" id="av-50-15087386360397015468"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Aaron">

</a></span></div>
<a href='http://www.blogger.com/profile/15087386360397015468' rel='nofollow'>Aaron</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-498052017995941059'>
<p>
Golang.org<br /><br />That is all.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302687930415#c498052017995941059' title='comment permalink'>
April 13, 2011 4:45 AM
</a>

<span class='item-control blog-admin pid-561499451'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=498052017995941059' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5391695293717186343'>
<a name='c5391695293717186343'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://oraclesponge.wordpress.com" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="David Aldridge">

</a></span></div>
<a href='http://oraclesponge.wordpress.com' rel='nofollow'>David Aldridge</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5391695293717186343'>

<p>
Does this mean that all the developers who jumped through hoops to make their Java applications &quot;database independent&quot; to avoid the hassle of porting between MySQL/Oracle/etc, are now going to want to port the entire app to the latest language that &quot;the cool kids have got a hard-on for&quot;?<br /><br />If so, will they revisit the argument of placing data (business) logic in the database where it belongs, or continue with a demonstrably failed approach?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302690104391#c5391695293717186343' title='comment permalink'>
April 13, 2011 5:21 AM
</a>
<span class='item-control blog-admin pid-545558749'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=5391695293717186343' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6683270266261526143'>
<a name='c6683270266261526143'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6683270266261526143'>
<p>
&gt; We should probably be looking towards a non-lazy functional language that offers the power of Haskell&#39;s type system and Erlang&#39;s concurrency.<br /><br />in the JVM world this would mean Scala (especially in combination with the Akka framework), but personally I think F# is even nicer and fits this requirement better

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302691080959#c6683270266261526143' title='comment permalink'>
April 13, 2011 5:38 AM
</a>
<span class='item-control blog-admin pid-1685735979'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6683270266261526143' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4187222250315362418'>
<a name='c4187222250315362418'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4187222250315362418'>
<p>
The truth is: Java is falling apart.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302693907153#c4187222250315362418' title='comment permalink'>
April 13, 2011 6:25 AM
</a>
<span class='item-control blog-admin pid-1367660441'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4187222250315362418' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>

</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4247317153903333123'>
<a name='c4247317153903333123'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4247317153903333123'>
<p>
Im working on enterprise apps and I like generic coding, so I don&#39;t miss static typing in java.<br /><br />What I do miss:<br /><br />1) a JVM that really supports writing portable apps (even if using OS-things like files, or HW-specific things like sound or other processes)<br /><br />2) better support for generics<br /><br />3) less bugs with Maths, ...<br /><br />4) overloading of operators and static vars like smalltalk :)

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302694393031#c4247317153903333123' title='comment permalink'>
April 13, 2011 6:33 AM
</a>
<span class='item-control blog-admin pid-499648744'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4247317153903333123' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c530014645111461314'>
<a name='c530014645111461314'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-530014645111461314'>
<p>
just to add a voice on the statically typed issue: I wouldnt touch a non-statically typed language with a ten foot pole. I dont mind other people&#39;s taste, but comparing a scripting language with a statically typed one, which comes with an array of tools that are only possible through static typing, is ridiculous.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302696026663#c530014645111461314' title='comment permalink'>
April 13, 2011 7:00 AM
</a>
<span class='item-control blog-admin pid-601379158'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=530014645111461314' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c435144364713584525'>
<a name='c435144364713584525'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/13401664137096803454" rel="nofollow" onclick="" class="avatar-hovercard" id="av-56-13401664137096803454"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="sarbogast">

</a></span></div>
<a href='http://www.blogger.com/profile/13401664137096803454' rel='nofollow'>sarbogast</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-435144364713584525'>
<p>
The funny thing is that the next generation of Java is not a language, it&#39;s a combination of the right tools for the right jobs. And if it was a language, it would be Groovy, period.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302696177656#c435144364713584525' title='comment permalink'>
April 13, 2011 7:02 AM
</a>
<span class='item-control blog-admin pid-266175086'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=435144364713584525' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3417208030000852067'>
<a name='c3417208030000852067'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3417208030000852067'>
<p>
I think Spring if a fantastic language for business applications. The XML is very readable and it already runs on Java.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302697188846#c3417208030000852067' title='comment permalink'>
April 13, 2011 7:19 AM
</a>
<span class='item-control blog-admin pid-2035479631'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3417208030000852067' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>

</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4406565657297851517'>
<a name='c4406565657297851517'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/04652116016088494570" rel="nofollow" onclick="" class="avatar-hovercard" id="av-58-04652116016088494570"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Hans-Georg">

</a></span></div>
<a href='http://www.blogger.com/profile/04652116016088494570' rel='nofollow'>Hans-Georg</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4406565657297851517'>
<p>
Only use i++ and i--<br />Please:<br />Don&#39;t use ++i and --i<br />Don&#39;t use ?-Operator.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302697270459#c4406565657297851517' title='comment permalink'>
April 13, 2011 7:21 AM
</a>
<span class='item-control blog-admin pid-2136461289'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4406565657297851517' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c1054760181329793347'>
<a name='c1054760181329793347'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1054760181329793347'>
<p>
I agree with the others, Scala makes this new project stillborn. Also, a lot of the constructs are massively bizarre -  they haven&#39;t thought about the corner cases...
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302697435807#c1054760181329793347' title='comment permalink'>
April 13, 2011 7:23 AM
</a>
<span class='item-control blog-admin pid-1297007613'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1054760181329793347' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4955834835980268081'>
<a name='c4955834835980268081'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4955834835980268081'>
<p>
I partly agree with sarbogast &quot;...right tools for the right job...&quot;.  However, I can&#39;t see myself become fully versed in Groovy _and_ Clojure _and_ Scala _and_ whatever else might come along.  To me, Groovy seems like the most approachable and generally useful of the current crop but for some applications, you&#39;ll want something more performant.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302697788358#c4955834835980268081' title='comment permalink'>
April 13, 2011 7:29 AM
</a>
<span class='item-control blog-admin pid-445266684'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4955834835980268081' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6980982033027445294'>
<a name='c6980982033027445294'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6980982033027445294'>
<p>
Oh puh-lease.  Massively bizarre?  How about Scala, with :/, _*_, &lt;-, -&gt; and not to mention &gt;&gt;&gt;?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302698002508#c6980982033027445294' title='comment permalink'>
April 13, 2011 7:33 AM

</a>
<span class='item-control blog-admin pid-445266684'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6980982033027445294' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6644945657831303733'>
<a name='c6644945657831303733'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://devstonez.wordpress.com" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Dev{eloper} Stonez">

</a></span></div>
<a href='http://devstonez.wordpress.com' rel='nofollow'>Dev{eloper} Stonez</a>
said...
</dt>

<dd class='comment-body' id='Blog1_cmt-6644945657831303733'>
<p>
Gavin King just provided some comments about Ceylon:<br /><br /><a href="http://in.relation.to/Bloggers/Ceylon" rel="nofollow">Ceylon, an explanation by Gavin King</a>
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302698175700#c6644945657831303733' title='comment permalink'>
April 13, 2011 7:36 AM
</a>
<span class='item-control blog-admin pid-1451161764'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6644945657831303733' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>

</span>
</dd>
<dt class='comment-author ' id='c4637684975619663522'>
<a name='c4637684975619663522'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4637684975619663522'>
<p>
Thank FSM for having the sense to use := for assignment. This should be an absolute no-brainer. Countless C programmer-hours have been lost to inadvertently typing &#39;=&#39; instead of &#39;==&#39;, and perpetuating that blunder in later languages just baffles me.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302698226474#c4637684975619663522' title='comment permalink'>
April 13, 2011 7:37 AM
</a>
<span class='item-control blog-admin pid-821654552'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4637684975619663522' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2206904083584413928'>
<a name='c2206904083584413928'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2206904083584413928'>
<p>
Are parameters &#39;const&#39; by default?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302698394235#c2206904083584413928' title='comment permalink'>
April 13, 2011 7:39 AM
</a>

<span class='item-control blog-admin pid-1983218785'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2206904083584413928' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c398517684180623409'>
<a name='c398517684180623409'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://coffeesgone.wordpress.com" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Sam">

</a></span></div>
<a href='http://coffeesgone.wordpress.com' rel='nofollow'>Sam</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-398517684180623409'>

<p>
A lot of the syntactic approach in the power point (https://docs.google.com/viewer?a=v&amp;pid=explorer&amp;chrome=true&amp;srcid=0B7IgMTLsf_SzODkwNGRmYTQtODMyYy00NjhjLTkyZTQtMzBhZmY5NDFjMzMy&amp;hl=en&amp;authkey=CNy76dkK ) reminds me of something from Javascript or Scala. Not a bad thing, but I&#39;m not especially drawn by what I&#39;m reading (unless we are talking about comparing this to Java).<br /><br />The type narrowing example at the end reminds me of SML (and company&#39;s) type matching pattern used to dispatch to the correct function, which Scala has a variant of.<br /><br />I&#39;m also bothered that I don&#39;t see type inference in here anywhere. One of my biggest complaints about Java is that where the type is obvious or irrelevant I can&#39;t omit it.
</p>
</dd>

<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302698650928#c398517684180623409' title='comment permalink'>
April 13, 2011 7:44 AM
</a>
<span class='item-control blog-admin pid-530929960'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=398517684180623409' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7363820222304987835'>
<a name='c7363820222304987835'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>

Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7363820222304987835'>
<p>
Why are there so many Anonymous posts, cant folks use their id, instead of hiding behind Anonymous? its annoying not to be able to follow the conversation trail and replying to anonymous.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302699370656#c7363820222304987835' title='comment permalink'>
April 13, 2011 7:56 AM
</a>
<span class='item-control blog-admin pid-235733850'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7363820222304987835' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>

</span>
</dd>
<dt class='comment-author ' id='c9218482974819895700'>
<a name='c9218482974819895700'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-9218482974819895700'>
<p>
Ironic to complain about anonymous postings anonymously.<br /><br />Signed,<br /><br />Anon.
</p>
</dd>
<dd class='comment-footer'>

<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302700146568#c9218482974819895700' title='comment permalink'>
April 13, 2011 8:09 AM
</a>
<span class='item-control blog-admin pid-545558749'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=9218482974819895700' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4266075593406214448'>
<a name='c4266075593406214448'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/16093346608054508762" rel="nofollow" onclick="" class="avatar-hovercard" id="av-68-16093346608054508762"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="http://1.bp.blogspot.com/_szRU5VFXWM4/TUilZf193PI/AAAAAAAAAGw/L6hEOiP06cU/s45/Joe_12-2010-sm.jpg" title="Joe">

<noscript><img src="http://1.bp.blogspot.com/_szRU5VFXWM4/TUilZf193PI/AAAAAAAAAGw/L6hEOiP06cU/s45/Joe_12-2010-sm.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>

<a href='http://www.blogger.com/profile/16093346608054508762' rel='nofollow'>Joe</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4266075593406214448'>
<p>
Sometimes I think that the world of computer programming can&#39;t see the forest for the trees.  We get so wrapped up in reinventing the wheel.  Every time I turn around there&#39;s some new language that &quot;fixes&quot; some small &quot;defect&quot; that all the other languages fixed in there own way.  It&#39;s like a never ending conga line.  Makes me want to change careers, sometimes.  Maybe becoming a gardener or something.
</p>

</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302701657623#c4266075593406214448' title='comment permalink'>
April 13, 2011 8:34 AM
</a>
<span class='item-control blog-admin pid-941307920'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4266075593406214448' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4892204500195836776'>
<a name='c4892204500195836776'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://zndx.org" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="rch">

</a></span></div>
<a href='http://zndx.org' rel='nofollow'>rch</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4892204500195836776'>
<p>
This might be interesting, but it is very difficult introduce a new programming language that is worth a damn. And you say he&#39;s been working on it for two years....<br /><br />If you had said ten I would be interested, but after two I&#39;m not even going to look at his slide deck. I hope I am wrong though.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302701690142#c4892204500195836776' title='comment permalink'>
April 13, 2011 8:34 AM

</a>
<span class='item-control blog-admin pid-72062572'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4892204500195836776' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7712813023973671301'>
<a name='c7712813023973671301'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7712813023973671301'>
<p>

How is the garbage collection in this, as that has always been a problem with Java..?!
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302702528313#c7712813023973671301' title='comment permalink'>
April 13, 2011 8:48 AM
</a>
<span class='item-control blog-admin pid-792824327'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7712813023973671301' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c1729089703760825339'>
<a name='c1729089703760825339'></a>

<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1729089703760825339'>
<p>
I agree with Anonymous.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302702858447#c1729089703760825339' title='comment permalink'>
April 13, 2011 8:54 AM
</a>
<span class='item-control blog-admin pid-645185918'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1729089703760825339' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6225644679080172394'>
<a name='c6225644679080172394'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6225644679080172394'>
<p>
Good luck, RedHat. := is enough to make me cry. New keywords for things people already know well (&quot;satisfies&quot;? Seriously?) is just bad. The rest of it doesn&#39;t excite me. Sorry guys, but... I&#39;ll pass.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302704291032#c6225644679080172394' title='comment permalink'>
April 13, 2011 9:18 AM
</a>
<span class='item-control blog-admin pid-107987469'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6225644679080172394' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4669567571113581444'>
<a name='c4669567571113581444'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4669567571113581444'>
<p>
A better Java? Thrilling.<br /><br />Give me a language+toolset that;<br />* let&#39;s me write *once* for multiple platforms<br />* doesn&#39;t cost me unless I make loads<br />* comes with a big fat supporting library<br /><br />Give me that and I will write assignment<br />operations using just about any syntax you<br />prefer.<br /><br />What about &quot;let i be more like j&quot; or<br />&quot;i // j&quot;?

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302704653300#c4669567571113581444' title='comment permalink'>
April 13, 2011 9:24 AM
</a>
<span class='item-control blog-admin pid-645185918'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4669567571113581444' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c1793306450558940829'>
<a name='c1793306450558940829'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://craftanalogy.wordpress.com/" rel="nofollow" onclick="" class="avatar-hovercard" id="av-74-04742161542751962413"><img src="http://img1.blogblog.com/img/openid16-rounded.gif" width="16" height="16" alt="" title="craftanalogy">

</a></span></div>
<a href='http://craftanalogy.wordpress.com/' rel='nofollow'>craftanalogy</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1793306450558940829'>
<p>
Perl6!  And all of CPAN!
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302705043611#c1793306450558940829' title='comment permalink'>
April 13, 2011 9:30 AM
</a>
<span class='item-control blog-admin pid-1456342502'>

<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1793306450558940829' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5182905396573616697'>
<a name='c5182905396573616697'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5182905396573616697'>
<p>
I love the language wars. But I don&#39;t see anyone talking about the reason for a language. The expression of idea&#39;s that can also be mapped into code.  How much time do we spend dotting i&#39;s and crossing t&#39;s that have no relation to the algorithm we are trying to express.  In some languages, having to carry out the trash all the time (garbage collection) is non-essential to the expresson of what you are trying to do, just a byproduct of the envirionment and can be automated in languages like Java. <br /><br />Strong typing is like having to call your shot in pool. You don&#39;t always get it right the first time. <br /><br />Having to have a collection of just all the very same thing is a confusion. Say a collection of possessions. It could be a house , a dog, an idea, a desease. You strong typed fanatics would know you have to come up with an overriding hierarcy of objects with sub types ... (that is if it is an Object Oriented Language). If it is not well you have to design your own OOJ to express the idea.<br /><br />Language are to express ideas. If you can&#39;t express your idea or the algorithm efficiently, if you can&#39;t read someone elses idea and understand it, if you can&#39;t maintain it. It is of little use.<br /><br />My favorite is APL with &#39;disposible code&#39;. Literally you would document what you wrote heavily because you would have to throw out your function and re-build it if it changed.<br />But for Matrix work, every efficient.<br /><br />There are more aspects that are important in a language rather than typeing schemes that make a language appropriate for a task or for a problem domain.  It the discussion above it seems like those differences are being lost.  True all discussed are Turing Complete but then so is Lotus 123.  I don&#39;t think there is one language discussed that does not have a strength for a particular kind of programming. <br />The strong typed language are good for lock down, not changing business applications, after you figure out what you really want and need. A Dynamically typed or otherwise less prescriptive language is good to run those initial runs to let the users figure out what they really wanted. Easier to change and be responsive.  The locked down languages are cumbersome and hard to change and often have fundamental infrastructure changes that have to be made to make a small change (like adding a pencil to the list of possessions), and can be costly and usually ends up with corruptions and work arounds.  A hierarchial approach to business development with different tools at different times (or a tool that had different levels of lockdown) would make sense.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302706201550#c5182905396573616697' title='comment permalink'>
April 13, 2011 9:50 AM
</a>
<span class='item-control blog-admin pid-1614776894'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=5182905396573616697' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3934321367270706875'>
<a name='c3934321367270706875'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3934321367270706875'>
<p>
Cool!  Yet another language to have religious debates over!<br /><br />I think the interesting question will be whether Java survives Oracle&#39;s attempts to monetize it.  I have a sneaking suspicion it won&#39;t, which will open the door for some other JVM-style language.<br /><br />At least they are trying to make an enterprise language and not another scripting language.  Strong typing and static typing an invaluable once one starts trying to *maintain* large, enterprise programs (have had far too many bad experiences with trying to maintain large script-based programs stemming from the fact that the semantics of the language do not allow the compiler to tell one about errors at compilation time instead of hoping that you happen to run into (and then track down) mistakes at run time during testing).  Run time testing is an awful way to find bugs - much more reliable to exploit strong/static typing  to rule out errors by definition (at least for large, complex programs where there are too many possible scenarios to catch them all with run-time testing).
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302707393602#c3934321367270706875' title='comment permalink'>
April 13, 2011 10:09 AM

</a>
<span class='item-control blog-admin pid-6630506'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3934321367270706875' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3734136138399135275'>
<a name='c3734136138399135275'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3734136138399135275'>
<p>

Why don&#39;t they simply take a pascal with a nice, well organised runtime library and the beauty of Qt. And native compilation of course, no one ought to care about external runtine libraries not packaged with the source.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302708094807#c3734136138399135275' title='comment permalink'>
April 13, 2011 10:21 AM
</a>
<span class='item-control blog-admin pid-1883142360'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3734136138399135275' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4441950968612652332'>

<a name='c4441950968612652332'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/08798276726281303106" rel="nofollow" onclick="" class="avatar-hovercard" id="av-78-08798276726281303106"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="http://3.bp.blogspot.com/_PuO_dSZWfc0/TQJsbI52yuI/AAAAAAAAGC8/djX-IWIubfc/S45/915901139_REpH8-O.jpg" title="Peter">

<noscript><img src="http://3.bp.blogspot.com/_PuO_dSZWfc0/TQJsbI52yuI/AAAAAAAAGC8/djX-IWIubfc/S45/915901139_REpH8-O.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/08798276726281303106' rel='nofollow'>Peter</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4441950968612652332'>
<p>
Hmm, seems like Gosu beat Ceylon to the punch here.  Is Ceylon available yet?  Maybe Gavin can join forces with the <a href="http://gosu-lang.org" rel="nofollow"> Gosu</a> folks.   Seems like they both have very similar ideas, and Gosu is already out.
</p>

</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302710003120#c4441950968612652332' title='comment permalink'>
April 13, 2011 10:53 AM
</a>
<span class='item-control blog-admin pid-454334388'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4441950968612652332' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2134951508573732817'>
<a name='c2134951508573732817'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2134951508573732817'>
<p>
Check &#39;modularity&#39; of Hibernate and everything will be as clear as day... If Gavin is the main guy behind this we&#39;ll need default constructors and other &#39;cool&#39; requirements of the &#39;framework/language&#39;. When hibernate came out there was nothing really like it so many projects sacrificed code quality to get the functionality of the framework. Unfortunately for Gavin, it&#39;s 2011 and there&#39;s tons of excellent JVM alternatives to Java...

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302711594387#c2134951508573732817' title='comment permalink'>
April 13, 2011 11:19 AM
</a>
<span class='item-control blog-admin pid-841302837'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2134951508573732817' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6501884694202531922'>
<a name='c6501884694202531922'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Bob">

</span></div>
Bob
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6501884694202531922'>
<p>
Don&#39;t learn Gosu, as the previous commenter suggested. It&#39;s a waste of time, and it only half works. Stick with Scala, it&#39;s heading in the correct direction. Anyone pushing Gosu works for Guidewire.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302711766550#c6501884694202531922' title='comment permalink'>
April 13, 2011 11:22 AM
</a>

<span class='item-control blog-admin pid-1885733405'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6501884694202531922' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4024339557616931770'>
<a name='c4024339557616931770'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4024339557616931770'>
<p>
Ceylon ? Named after a country ? Stick with Smalltalk or Scala.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302717724746#c4024339557616931770' title='comment permalink'>
April 13, 2011 1:02 PM
</a>
<span class='item-control blog-admin pid-1678936014'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4024339557616931770' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2187429818965679806'>
<a name='c2187429818965679806'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/01652979535335976265" rel="nofollow" onclick="" class="avatar-hovercard" id="av-82-01652979535335976265"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Matt Quigley">

</a></span></div>
<a href='http://www.blogger.com/profile/01652979535335976265' rel='nofollow'>Matt Quigley</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2187429818965679806'>
<p>
I like what you&#39;ve done here.  I have two questions:<br /><br />1. How much complaining do we need to do to change the := operator into something easier to type?  (This isn&#39;t a joke, I&#39;m pretty sure that everyone hates typing this and there&#39;s another operator you could use)<br /><br />2. What about returning multiple values?  Lots of new languages do it.  For example, GO syntax is:<br /><br />func Open(name string, mode int, perm uint32) (file *File, err os.Error)<br /><br />Java-like syntax:<br />File, os.Error Open(String name, int mode)

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302718598469#c2187429818965679806' title='comment permalink'>
April 13, 2011 1:16 PM
</a>
<span class='item-control blog-admin pid-1031799404'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=2187429818965679806' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4949801234620168488'>
<a name='c4949801234620168488'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Dave Hodder">

</span></div>
Dave Hodder
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4949801234620168488'>
<p>
@Jeff Burdges<br /><br />If you&#39;re looking for a language with functional support, good concurrency, no lazy evaluation and an LLVM implementation, Rust might meet your needs.  It is still very much in flux at the moment though, at least in terms of syntax.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302720231297#c4949801234620168488' title='comment permalink'>
April 13, 2011 1:43 PM
</a>
<span class='item-control blog-admin pid-1358343554'>

<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4949801234620168488' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c1483618171210413733'>
<a name='c1483618171210413733'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1483618171210413733'>
<p>
What I like<br /><br />    Named and Optional parameters (C# 4.0)<br /><br /><br />Named, yes, optional no. Personally I think optional parameters are a blight - if you don&#39;t want to set them, explicitly say so!

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302744390274#c1483618171210413733' title='comment permalink'>
April 13, 2011 8:26 PM
</a>
<span class='item-control blog-admin pid-334515296'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1483618171210413733' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6516868672908533097'>
<a name='c6516868672908533097'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://k47.cz" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="kaja47">

</a></span></div>
<a href='http://k47.cz' rel='nofollow'>kaja47</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6516868672908533097'>
<p>
Interesting, very interesting indeed. I read through slides and I realized that literally everything in Ceylon (with one thrilling exception of reified generics) is already in Scala. This is good thing, for example: use site variance annotations are much better than wildcards. But on the other hand we already have Scala.<br /><br /><br /><br />One thing that is never mentioned is level Java interoperability. Will be there some major obstacles? For example using java&#39;s erased generics from Ceylon code and so on.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302744614010#c6516868672908533097' title='comment permalink'>
April 13, 2011 8:30 PM

</a>
<span class='item-control blog-admin pid-247228689'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6516868672908533097' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6453026445475873134'>
<a name='c6453026445475873134'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6453026445475873134'>
<p>

Yup, I was thinking.. &quot;Oi, he wants to invent scala!&quot;<br /><br />Then I saw the comments, and apparently I wasn&#39;t the only one with that impression.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302752967210#c6453026445475873134' title='comment permalink'>
April 13, 2011 10:49 PM
</a>
<span class='item-control blog-admin pid-65770353'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=6453026445475873134' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>

</dd>
<dt class='comment-author ' id='c1426593044113705947'>
<a name='c1426593044113705947'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://gosu-lang.org" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Carson Gross">

</a></span></div>
<a href='http://gosu-lang.org' rel='nofollow'>Carson Gross</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1426593044113705947'>
<p>
Hey!  Gosu works like at *LEAST* 65% of the time!<br /><br />Despite it being a competitor, I like a lot of the stuff that they are doing in Ceylon.  Not allowing method overloading is a recurring fantasy of mine (although if they intend to offer 100% java interaction, they&#39;ll have to still have some insane method resolution logic that will undoubtedly screw their parser up beyond recognition.  Ask me how I know.)  I like the constructor syntax (nod to scala as well there.)<br /><br />My first impression is that this is a bit more of a step away from Java than Gosu is.  For example, we try to patch up the core classes with some additional functionality and simplified API&#39;s rather than wholesale replacing them.  Time will tell which approach is better.<br /><br />Also, having RedHat, rather than an insurance software company, behind your effort can&#39;t hurt... ;)<br /><br />Cheers,<br />Carson

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302757640349#c1426593044113705947' title='comment permalink'>
April 14, 2011 12:07 AM
</a>
<span class='item-control blog-admin pid-1999917592'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=1426593044113705947' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7204360489826027546'>
<a name='c7204360489826027546'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7204360489826027546'>
<p>
And Java, C#, PHP or Perl are all coded in C, the most efficient *portable* programming language (and a free open standard).<br /><br />And ANSI C *scripts* are several orders of magnitude faster than all those &#39;modern&#39; tools crippled by patent minefieds and critical security holes.<br /><br />Just have a look at G-WAN.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302769700333#c7204360489826027546' title='comment permalink'>

April 14, 2011 3:28 AM
</a>
<span class='item-control blog-admin pid-1181725059'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7204360489826027546' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7140966626854886548'>
<a name='c7140966626854886548'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7140966626854886548'>

<p>
concerning the &quot;Name&quot; returns &quot;Name(&#8220;Gavin&#8221;, &#8220;King&#8221;)&quot;: a quick flight over the slides shows that they want to avoid the &#39;new&#39; constructor keyword, that is, the example just seems to create a new Name object with two parameters &quot;Gavin&quot; &amp; &quot;King&quot; - though for me it was the first strange thing in the language: coming from a C# background I wouldn&#39;t know whether it is creating a new object there or accessig yet another property (without the parameters) or a method inside the class...

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302771482389#c7140966626854886548' title='comment permalink'>
April 14, 2011 3:58 AM
</a>
<span class='item-control blog-admin pid-1235930659'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7140966626854886548' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3437212666862683515'>
<a name='c3437212666862683515'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Dirk">

</span></div>
Dirk
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3437212666862683515'>
<p>
Having switched from java to Scala a few months ago, I have to say I do not understand what additional value Ceylon really adds. All it&#39;s good ideas are already part of Scala, pus it has some additional great concepts and is already further advanced although yet on its way
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302812350254#c3437212666862683515' title='comment permalink'>
April 14, 2011 3:19 PM
</a>
<span class='item-control blog-admin pid-1940799023'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3437212666862683515' title='Delete Comment'>

<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4422510529440786302'>
<a name='c4422510529440786302'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4422510529440786302'>
<p>
Gavin, get a real job! Notice what your slides say about Java: extremely easy to read and understand. This stuff is nonsensical.
</p>
</dd>

<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302864104251#c4422510529440786302' title='comment permalink'>
April 15, 2011 5:41 AM
</a>
<span class='item-control blog-admin pid-1380611202'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=4422510529440786302' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7968700139838467343'>
<a name='c7968700139838467343'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/08814681230763184895" rel="nofollow" onclick="" class="avatar-hovercard" id="av-92-08814681230763184895"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Bailey">

</a></span></div>

<a href='http://www.blogger.com/profile/08814681230763184895' rel='nofollow'>Bailey</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7968700139838467343'>
<p>
Wow, this stuff makes me sad. I use to think opinions were like assholes and that everyone has them.<br /><br />Apparently when it comes to language design. Everyone is just an asshole. Dude&#39;s been working on new language. That&#39;s awesome. It&#39;s also hard. We should be congratulating him and wishing him well. Instead people are questioning his skills, his ability, and for why? If you don&#39;t like it go off and play in your own sandbox with your own language.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302882110949#c7968700139838467343' title='comment permalink'>

April 15, 2011 10:41 AM
</a>
<span class='item-control blog-admin pid-1386585258'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7968700139838467343' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3450144463675870301'>
<a name='c3450144463675870301'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/13365263609927019471" rel="nofollow" onclick="" class="avatar-hovercard" id="av-93-13365263609927019471"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="http://1.bp.blogspot.com/_5sFrF5X55HE/Sy5q2YRvWsI/AAAAAAAAAsM/4UDoPFlaGYA/S45/kilik-avatar.png" title="Spidey01 / TerryP">

<noscript><img src="http://1.bp.blogspot.com/_5sFrF5X55HE/Sy5q2YRvWsI/AAAAAAAAAsM/4UDoPFlaGYA/S45/kilik-avatar.png" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/13365263609927019471' rel='nofollow'>Spidey01 / TerryP</a>

said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3450144463675870301'>
<p>
&quot;I think the Java/Open Source/Programming world needs a language like this. &quot; &#8212; the problem is we already have that, in the form of Mono&#39;s  implementation of C#. Given the choice, I&#39;d take it over Java (and the JVM) any day of the past decade.<br /><br />Invent less wheels, fix more wobbling wheels.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302898708015#c3450144463675870301' title='comment permalink'>
April 15, 2011 3:18 PM

</a>
<span class='item-control blog-admin pid-1353408504'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=3450144463675870301' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c5334584140118364236'>
<a name='c5334584140118364236'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/07627402908638807501" rel="nofollow" onclick="" class="avatar-hovercard" id="av-94-07627402908638807501"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Marc Richards">

</a></span></div>
<a href='http://www.blogger.com/profile/07627402908638807501' rel='nofollow'>Marc Richards</a>
said...
</dt>

<dd class='comment-body' id='Blog1_cmt-5334584140118364236'>
<p>
@Bailey<br />Yea, the level of negativity overwhelming, but not entirely unexpected. Mob criticism is easy, constructive criticism takes work. <br /><br />Hopefully the team will be able to garner some useful feedback from all the noise. I hope they are not too distracted by all the hubub and early attention (my bad).<br /><br />I&#39;m curious to see what they have in store for the SDK, people have been blindly ignoring that part and just condemning project before it even gets a chance to show its full potential.<br /><br />In the mean time, I&#39;m going to take a look at Scala, hopefully it doesn&#39;t magically turn me into an angry, vitrol spouting asshole.  At the end of the day its all about survival of the fittest, and for better or worse, the details of the language design are just one piece of the puzzle.<br /><br />@Spidey01/TerryP<br />If only things were that simple. Politics, copyright ownership and patent murkiness make that a non-starter.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302903781174#c5334584140118364236' title='comment permalink'>

April 15, 2011 4:43 PM
</a>
<span class='item-control blog-admin pid-248203325'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=5334584140118364236' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7341238477030856351'>
<a name='c7341238477030856351'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7341238477030856351'>

<p>
Hi Marc..<br /><br />I wish you lots of fun and discovery with Scala..<br /> .. you just may find yourself drawn deeper and deeper into it&#8230; like you&#39;re becoming part of or entering LOTR (the book!).<br /><br />/Then/, once you are feeling your Elvish, mortals calling you vitriolic (or so much worse, saying your language is unreadable!) will not disturb your tranquility <br />:)<br /><br /><br />Best regards,<br /> OP<br /><br /><br /><br />PS: Jokes apart, too much &quot;Sounds like Sc***!&quot; unfortunately does sound a bit like &quot;Ceylon, go home!&quot;. Mea culpa, I suppose.<br />In any case, I still would be love to hear from more knowledgeable people about their impressions.

</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html?showComment=1302922989546#c7341238477030856351' title='comment permalink'>
April 15, 2011 10:03 PM
</a>
<span class='item-control blog-admin pid-1198416806'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=1362481190840665151&postID=7341238477030856351' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
</dl>
</div>
<p class='comment-footer'>

<div class='comment-form'>
<a name='comment-form'></a>
<h4 id='comment-post-message'>Post a Comment</h4>
<p>
</p>
<a href='http://www.blogger.com/comment-iframe.g?blogID=1362481190840665151&postID=8101675546221953092' id='comment-editor-src'></a>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'></iframe>
<script type="text/javascript">
        if (!window.google || !google.friendconnect) {
          document.write('<script type="text/javascript"' +
              'src="http://www.google.com/friendconnect/script/friendconnect.js">' +
              '</scr' + 'ipt>');
        }
      </script>
<script type="text/javascript">
      if (!window.registeredBloggerCallbacks) {
        window.registeredBloggerCallbacks = true;

        

        
        gadgets.rpc.register('requestReload', function() {
          document.location.reload();
        });

        
        gadgets.rpc.register('requestSignOut', function(siteId) {
          
          google.friendconnect.container.openSocialSiteId = siteId;
          google.friendconnect.requestSignOut();
        });
      }
    </script>
<script type="text/javascript">
    
    function registerGetBlogUrls() {
      gadgets.rpc.register('getBlogUrls', function() {
        var holder = {};
        
          
            
            
              holder.currentPost = "http://www.blogger.com/feeds/1362481190840665151/posts/default/8101675546221953092";
            
            
            
            holder.currentPostUrl = "";
            holder.currentPostId = 8101675546221953092
          
          
          
            holder.postFeed = "http://www.blogger.com/feeds/1362481190840665151/posts/default";
          
          
          
          holder.currentBlogUrl = "http://blog.talawah.net/";
          holder.currentBlogId = "1362481190840665151";
        
        return holder;
      });
    }
  </script>
<script type="text/javascript">
  if (!window.registeredCommonBloggerCallbacks) {
    window.registeredCommonBloggerCallbacks = true;

    gadgets.rpc.register('resize_iframe', function(height) {
      var el = document.getElementById(this['f']);
      if (el) {
        el.style.height = height + 'px';
      }
    });

    
    gadgets.rpc.register('set_pref', function() {});

    registerGetBlogUrls();
  }
  </script>

<script type="text/javascript" src="http://www.blogger.com/static/v1/jsbin/3868580601-comment_from_post_iframe.js"></script>
<script type='text/javascript'>
      BLOG_CMT_createIframe('http://www.blogger.com/rpc_relay.html', '11314644079174503356');
    </script>
</div>
</p>
<div id='backlinks-container'>
<div id='Blog1_backlinks-container'>
</div>
</div>
</div>
</div>
<!-- google_ad_section_end(name=default) -->
<div class='inline-ad'>
<script type="text/javascript"><!--
google_ad_client="pub-5040301181200769";
google_ad_host="pub-1556223355139109";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text_image";
google_ad_host_channel="0001";
google_color_border="F7F5FC";
google_color_bg="F7F5FC";
google_color_link="194D74";
google_color_url="000000";
google_color_text="333333";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>
</div>
<!-- google_ad_section_start -->
<div id="latency-8101675546221953092"></div><script type="text/javascript">if (window['tickAboveFold']) {window['tickAboveFold'](document.getElementById("latency-8101675546221953092")); } </script>

        </div></div>
      
<!-- google_ad_section_end -->
</div>
<div class='blog-pager' id='blog-pager'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' href='http://blog.talawah.net/2010/11/red-hat-set-to-unveil-rhel-6but-is.html' id='Blog1_blog-pager-older-link' title='Older Post'>Older Post</a>
</span>
<a class='home-link' href='http://blog.talawah.net/'>Home</a>

</div>
<div class='clear'></div>
<div class='post-feeds'>
</div>
</div></div>
</div>
</div>
<div class='column-left-outer'>
<div class='column-left-inner'>
<aside>
</aside>
</div>
</div>
<div class='column-right-outer'>
<div class='column-right-inner'>
<aside>
<div class='sidebar section' id='sidebar-right-1'><div class='widget Profile' id='Profile2'>

<h2>About Me</h2>
<div class='widget-content'>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-name-link' href='http://www.blogger.com/profile/07627402908638807501' rel='author'>
Marc Richards
</a>
</dt>
</dl>
<a class='profile-link' href='http://www.blogger.com/profile/07627402908638807501' rel='author'>View my complete profile</a>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=Profile&widgetId=Profile2&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Profile2"));' target='configProfile2' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>

</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget PopularPosts' id='PopularPosts1'>
<h2>Popular Posts</h2>
<div class='widget-content popular-posts'>
<ul>
<li>
<a href='http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html'>Gavin King unveils Red Hat's Java <strike>killer</strike> successor: The Ceylon Project</a>
</li>

<li>
<a href='http://blog.talawah.net/2009/04/jora-excellent-oracle-development.html'>jOra, an excellent Oracle Development plugin for Eclipse</a>
</li>
<li>
<a href='http://blog.talawah.net/2010/01/vmware-next-big-open-source-company.html'>VMWare: the next big Open Source company?</a>
</li>
<li>
<a href='http://blog.talawah.net/2010/11/red-hat-set-to-unveil-rhel-6but-is.html'>Red Hat set to unveil RHEL 6...but is there more?</a>
</li>
<li>
<a href='http://blog.talawah.net/2009/03/why-i-dont-want-ibm-to-buy-sun.html'>Why I don't want IBM to buy Sun</a>
</li>
</ul>

<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=PopularPosts&widgetId=PopularPosts1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("PopularPosts1"));' target='configPopularPosts1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget AdSense' id='AdSense2'>
<div class='widget-content'>
<script type="text/javascript"><!--
google_ad_client="pub-5040301181200769";
google_ad_host="pub-1556223355139109";
google_ad_width=300;
google_ad_height=250;
google_ad_format="300x250_as";
google_ad_type="text_image";
google_ad_host_channel="0001";
google_color_border="F7F5FC";
google_color_bg="F7F5FC";
google_color_link="194D74";
google_color_url="000000";
google_color_text="333333";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<div class='clear'></div>

<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=AdSense&widgetId=AdSense2&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("AdSense2"));' target='configAdSense2' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget CustomSearch' id='CustomSearch1'>
<h2 class='title'>Search This Blog</h2>
<div class='widget-content'>
<div id='CustomSearch1_form'>
<span class='cse-status'>Loading...</span>
</div>

</div>
<style type='text/css'>
      #uds-searchControl .gs-result .gs-title,
      #uds-searchControl .gs-result .gs-title *,
      #uds-searchControl .gsc-results .gsc-trailing-more-results,
      #uds-searchControl .gsc-results .gsc-trailing-more-results * {
        color:#2f8dc5;
      }

      #uds-searchControl .gs-result .gs-title a:visited,
      #uds-searchControl .gs-result .gs-title a:visited * {
        color:#423bae;
      }

      #uds-searchControl .gs-relativePublishedDate,
      #uds-searchControl .gs-publishedDate {
        color: #759299;
      }

      #uds-searchControl .gs-result a.gs-visibleUrl,
      #uds-searchControl .gs-result .gs-visibleUrl {
        color: #2f8dc5;
      }

      #uds-searchControl .gsc-results {
        border-color: #759299;
        background-color: #fefefe;
      }

      #uds-searchControl .gsc-tabhActive {
        border-color: #759299;
        border-top-color: #759299;
        background-color: #fefefe;
        color: #575757;
      }

      #uds-searchControl .gsc-tabhInactive {
        border-color: #759299;
        background-color: transparent;
        color: #2f8dc5;
      }

      #uds-searchClearResults {
        border-color: #759299;
      }

      #uds-searchClearResults:hover {
        border-color: #759299;
      }

      #uds-searchControl .gsc-cursor-page {
        color: #2f8dc5;
      }

      #uds-searchControl .gsc-cursor-current-page {
        color: #575757;
      }
    </style>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=CustomSearch&widgetId=CustomSearch1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("CustomSearch1"));' target='configCustomSearch1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget BlogArchive' id='BlogArchive2'>
<h2>View Archives</h2>
<div class='widget-content'>
<div id='ArchiveList'>

<div id='BlogArchive2_ArchiveList'>
<select id='BlogArchive2_ArchiveMenu'>
<option value=''>View Archives</option>
<option value='http://blog.talawah.net/2011_04_01_archive.html'>April 2011 (1)</option>
<option value='http://blog.talawah.net/2010_11_01_archive.html'>November 2010 (1)</option>
<option value='http://blog.talawah.net/2010_01_01_archive.html'>January 2010 (1)</option>
<option value='http://blog.talawah.net/2009_04_01_archive.html'>April 2009 (1)</option>
<option value='http://blog.talawah.net/2009_03_01_archive.html'>March 2009 (3)</option>
<option value='http://blog.talawah.net/2009_02_01_archive.html'>February 2009 (4)</option>
</select>

</div>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=BlogArchive&widgetId=BlogArchive2&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("BlogArchive2"));' target='configBlogArchive2' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget Gadget' id='Gadget1'>
<div class='widget-content'>
<script type="text/javascript">
        if (!window.gadgets || !gadgets.rpc) {
          document.write('<script type="text/javascript"' +
                  'src="//www-blogger-opensocial.googleusercontent.com/gadgets/js/rpc.js?container\x3dblogger\x26nocache\x3d0\x26debug\x3d0\x26c\x3d1\x26v\x3dc9c4e4be4c94f814a439d6c24f88d657\x26sv\x3d4">' +
                  '</scr' + 'ipt>');
        }
      </script>
<script type="text/javascript">
    
    function registerGetBlogUrls() {
      gadgets.rpc.register('getBlogUrls', function() {
        var holder = {};
        
          
            
            
              holder.currentPost = "http://www.blogger.com/feeds/1362481190840665151/posts/default/8101675546221953092";
            
            
            
            holder.currentPostUrl = "";
            holder.currentPostId = 8101675546221953092
          
          
          
            holder.postFeed = "http://www.blogger.com/feeds/1362481190840665151/posts/default";
          
          
          
          holder.currentBlogUrl = "http://blog.talawah.net/";
          holder.currentBlogId = "1362481190840665151";
        
        return holder;
      });
    }
  </script>

<script type="text/javascript">
  if (!window.registeredCommonBloggerCallbacks) {
    window.registeredCommonBloggerCallbacks = true;

    gadgets.rpc.register('resize_iframe', function(height) {
      var el = document.getElementById(this['f']);
      if (el) {
        el.style.height = height + 'px';
      }
    });

    
    gadgets.rpc.register('set_pref', function() {});

    registerGetBlogUrls();
  }
  </script>
<iframe src="//7qtbrk85plu9c3veu9qtmhfr0bta8376-a-blogger-opensocial.googleusercontent.com/gadgets/ifr?url=http%3A%2F%2Fwms.assoc-amazon.com%2FGoogleGadgets%2Famzn_deals.xml&amp;container=blogger&amp;view=default&amp;lang=en&amp;country=ALL&amp;sanitize=0&amp;v=2a903f7117f2d95d&amp;libs=core%3Adynamic-height%3Agoogle.blog%3Alocked-domain%3Arpc%3Asetprefs%3Askins%3Aviews&amp;parent=http%3A%2F%2Fblog.talawah.net%2F&amp;up_size=2&amp;mid=1#up_size=2&amp;st=e%3DAFlCd0Xc%252FTJnJBuYDJBexbb1r7iE%252FDdYbWtkUb5esA2XqGvM5aOSOCgLEW87CQTRmLI7R%252BbaLBOsE2b4dg%252Fwmjo61CS%252B9paiAERtYVPebUVyIOJY5h0G6qW8JVzor2Ws6rhf8qKg5w6T%26c%3Dblogger&amp;rpctoken=1350422387844524956" frameborder="0" style="width: 100%; display: block" height="270" id="sidebar-gadget1" name="sidebar-gadget1"></iframe>
<script type="text/javascript">
        gadgets.rpc.setRelayUrl("sidebar-gadget1", '//7qtbrk85plu9c3veu9qtmhfr0bta8376-a-blogger-opensocial.googleusercontent.com/gadgets/files/container/rpc_relay.html');
        gadgets.rpc.setAuthToken("sidebar-gadget1", "1350422387844524956");
      </script>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=Gadget&widgetId=Gadget1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Gadget1"));' target='configGadget1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget Subscribe' id='Subscribe1'>

<div style='white-space:nowrap'>
<h2 class='title'>Subscribe To The Brain Dump</h2>
<div class='widget-content'>
<div class='subscribe-wrapper subscribe-type-POST'>
<div class='subscribe expanded subscribe-type-POST' id='SW_READER_LIST_Subscribe1POST' style='display:none;'>
<div class='top'>
<span class='inner' onclick='return(_SW_toggleReaderList(event, "Subscribe1POST"));'>
<img class='subscribe-dropdown-arrow' src='http://img2.blogblog.com/img/widgets/arrow_dropdown.gif'/>
<img align='absmiddle' alt='' border='0' class='feed-icon' src='http://img1.blogblog.com/img/icon_feed12.png'/>
Posts
</span>
<div class='feed-reader-links'>
<a class='feed-reader-link' href='http://www.google.com/ig/add?source=bstp&feedurl=http%3A%2F%2Fblog.talawah.net%2Ffeeds%2Fposts%2Fdefault' target='_blank'>
<img src='http://img1.blogblog.com/img/widgets/subscribe-google.png'/>
</a>
<a class='feed-reader-link' href='http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fblog.talawah.net%2Ffeeds%2Fposts%2Fdefault' target='_blank'>

<img src='http://img1.blogblog.com/img/widgets/subscribe-netvibes.png'/>
</a>
<a class='feed-reader-link' href='http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fblog.talawah.net%2Ffeeds%2Fposts%2Fdefault' target='_blank'>
<img src='http://img1.blogblog.com/img/widgets/subscribe-newsgator.png'/>
</a>
<a class='feed-reader-link' href='http://add.my.yahoo.com/content?url=http%3A%2F%2Fblog.talawah.net%2Ffeeds%2Fposts%2Fdefault' target='_blank'>
<img src='http://img1.blogblog.com/img/widgets/subscribe-yahoo.png'/>
</a>
<a class='feed-reader-link' href='http://blog.talawah.net/feeds/posts/default' target='_blank'>
<img align='absmiddle' class='feed-icon' src='http://img1.blogblog.com/img/icon_feed12.png'/>
                Atom
              </a>
</div>
</div>
<div class='bottom'></div>
</div>

<div class='subscribe' id='SW_READER_LIST_CLOSED_Subscribe1POST' onclick='return(_SW_toggleReaderList(event, "Subscribe1POST"));'>
<div class='top'>
<span class='inner'>
<img class='subscribe-dropdown-arrow' src='http://img2.blogblog.com/img/widgets/arrow_dropdown.gif'/>
<span onclick='return(_SW_toggleReaderList(event, "Subscribe1POST"));'>
<img align='absmiddle' alt='' border='0' class='feed-icon' src='http://img1.blogblog.com/img/icon_feed12.png'/>
Posts
</span>
</span>
</div>
<div class='bottom'></div>
</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<div class='clear'></div>

<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=Subscribe&widgetId=Subscribe1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Subscribe1"));' target='configSubscribe1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget FollowByEmail' id='FollowByEmail1'>
<h2 class='title'>Follow by Email</h2>
<div class='widget-content'>
<div class='follow-by-email-inner'>
<form action='http://feedburner.google.com/fb/a/mailverify' method='post' onsubmit='window.open("http://feedburner.google.com/fb/a/mailverify?uri=TheBrainDumpFeed", "popupwindow", "scrollbars=yes,width=550,height=520"); return true' target='popupwindow'>
<table width='100%'>
<tr>
<td>

<input class='follow-by-email-address' name='email' placeholder='Email address...' type='text'/>
</td>
<td width='64px'>
<input class='follow-by-email-submit' type='submit' value='Submit'/>
</td>
</tr>
</table>
<input name='uri' type='hidden' value='TheBrainDumpFeed'/>
<input name='loc' type='hidden' value='en_US'/>
</form>
</div>
</div>
<span class='item-control blog-admin'>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=FollowByEmail&widgetId=FollowByEmail1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("FollowByEmail1"));' target='configFollowByEmail1' title='Edit'>

<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</span>
</div><div class='widget AdSense' id='AdSense1'>
<div class='widget-content'>
<script type="text/javascript"><!--
google_ad_client="pub-5040301181200769";
google_ad_host="pub-1556223355139109";
google_ad_width=300;
google_ad_height=250;
google_ad_format="300x250_as";
google_ad_type="text_image";
google_ad_host_channel="0001";
google_color_border="F7F5FC";
google_color_bg="F7F5FC";
google_color_link="194D74";
google_color_url="000000";
google_color_text="333333";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=AdSense&widgetId=AdSense1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("AdSense1"));' target='configAdSense1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>

</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget BlogList' id='BlogList1'>
<h2 class='title'>Blog Roll</h2>
<div class='widget-content'>
<div class='blog-list-container' id='BlogList1_container'>
<ul id='BlogList1_blogs'>
<li style='display: block;'>
<div class='blog-icon'>
<input type='hidden' value='http://virtualization.info/favicon.ico'/>
</div>
<div class='blog-content'>
<div class='blog-title'>

<a href='http://virtualization.info/en' target='_blank'>
Virtualization.info</a>
</div>
<div class='item-content'>
<span class='item-title'>
<a href='http://feedproxy.google.com/~r/Virtualization_info/~3/FCptyNwQxTQ/vmware-announces-its-paas-solution-called-cloud-foundry.html' target='_blank'>
VMware announces its PaaS solution called Cloud Foundry</a>
</span>
<div class='item-time'>
5 hours ago
</div>
</div>
</div>
<div style='clear: both;'></div>
</li>

<li style='display: block;'>
<div class='blog-icon'>
<input type='hidden' value='http://gigaom.com/favicon.ico'/>
</div>
<div class='blog-content'>
<div class='blog-title'>
<a href='http://gigaom.com' target='_blank'>
GigaOM</a>
</div>
<div class='item-content'>
<span class='item-title'>
<a href='http://gigaom.com/2011/04/15/why-apps-need-some-sense-and-sensibility/' target='_blank'>
Why Apps Need Some Sense and Sensibility</a>
</span>
<div class='item-time'>

1 day ago
</div>
</div>
</div>
<div style='clear: both;'></div>
</li>
<li style='display: block;'>
<div class='blog-icon'>
<input type='hidden' value='http://www.siliconcaribe.com/favicon.ico'/>
</div>
<div class='blog-content'>
<div class='blog-title'>
<a href='http://www.siliconcaribe.com/' target='_blank'>
Silicon Caribe</a>
</div>
<div class='item-content'>

<span class='item-title'>
<a href='http://www.siliconcaribe.com/2011/04/14/88-per-cent-of-jamaican-mobile-users-on-digicel-network/' target='_blank'>
88 per cent of Jamaican mobile users on Digicel network</a>
</span>
<div class='item-time'>
3 days ago
</div>
</div>
</div>
<div style='clear: both;'></div>
</li>
<li style='display: block;'>
<div class='blog-icon'>
<input type='hidden' value='http://news.cnet.com/favicon.ico'/>
</div>
<div class='blog-content'>

<div class='blog-title'>
<a href='http://news.cnet.com/8300-13505_3-16.html' target='_blank'>
The Open Road</a>
</div>
<div class='item-content'>
<span class='item-title'>
<a href='http://news.cnet.com/8301-13505_3-20006539-16.html?part=rss&tag=feed&subj=TheOpenRoad' target='_blank'>
Can Google lead CIOs to the Linux desktop?</a>
</span>
<div class='item-time'>
10 months ago
</div>
</div>
</div>
<div style='clear: both;'></div>

</li>
</ul>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=BlogList&widgetId=BlogList1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("BlogList1"));' target='configBlogList1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div>
</div></div>
</aside>
</div>
</div>

</div>
<div style='clear: both'></div>
<!-- columns -->
</div>
<!-- main -->
</div>
</div>
<div class='main-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<footer>
<div class='footer-outer'>
<div class='footer-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>

</div>
<div class='fauxborder-left footer-fauxborder-left'>
<div class='fauxborder-right footer-fauxborder-right'></div>
<div class='region-inner footer-inner'>
<div class='foot section' id='footer-1'><div class='widget Gadget' id='Gadget2'>
<div class='widget-content'>
<script type="text/javascript">
        if (!window.gadgets || !gadgets.rpc) {
          document.write('<script type="text/javascript"' +
                  'src="//www-blogger-opensocial.googleusercontent.com/gadgets/js/rpc.js?container\x3dblogger\x26nocache\x3d0\x26debug\x3d0\x26c\x3d1\x26v\x3dc9c4e4be4c94f814a439d6c24f88d657\x26sv\x3d4">' +
                  '</scr' + 'ipt>');
        }
      </script>
<script type="text/javascript">
    
    function registerGetBlogUrls() {
      gadgets.rpc.register('getBlogUrls', function() {
        var holder = {};
        
          
            
            
              holder.currentPost = "http://www.blogger.com/feeds/1362481190840665151/posts/default/8101675546221953092";
            
            
            
            holder.currentPostUrl = "";
            holder.currentPostId = 8101675546221953092
          
          
          
            holder.postFeed = "http://www.blogger.com/feeds/1362481190840665151/posts/default";
          
          
          
          holder.currentBlogUrl = "http://blog.talawah.net/";
          holder.currentBlogId = "1362481190840665151";
        
        return holder;
      });
    }
  </script>
<script type="text/javascript">
  if (!window.registeredCommonBloggerCallbacks) {
    window.registeredCommonBloggerCallbacks = true;

    gadgets.rpc.register('resize_iframe', function(height) {
      var el = document.getElementById(this['f']);
      if (el) {
        el.style.height = height + 'px';
      }
    });

    
    gadgets.rpc.register('set_pref', function() {});

    registerGetBlogUrls();
  }
  </script>
<iframe src="//9dl7h78ivl8smpn7vl3d9mo2g1ajbhaj-a-blogger-opensocial.googleusercontent.com/gadgets/ifr?url=http%3A%2F%2Fwms.assoc-amazon.com%2FGoogleGadgets%2Famzn_omakase.xml&amp;container=blogger&amp;view=default&amp;lang=en&amp;country=ALL&amp;sanitize=0&amp;v=5336b146445595cb&amp;libs=core%3Adynamic-height%3Agoogle.blog%3Alocked-domain%3Arpc%3Asetprefs%3Askins%3Aviews&amp;parent=http%3A%2F%2Fblog.talawah.net%2F&amp;up_size=5&amp;up_color_theme=0&amp;mid=2#up_color_theme=0&amp;up_size=5&amp;st=e%3DAFlCd0Wlg9rh%252BrwADkm1ShZLEa%252BJIe5w2vl5nrXoaKec%252ByfU9t5FbH2evdSIGyCXewhJdMJRyOsN6ib0QJ0lrJgwG%252Bd1u4N1K9PUQ1AwNLOx%252FCA3Be8BoLX%252BSc%252Bq%252B9B%252FcDAWt9TUNlyU%26c%3Dblogger&amp;rpctoken=-9119957859124920018" frameborder="0" style="width: 100%; display: block" height="110" id="sidebar-gadget2" name="sidebar-gadget2"></iframe>
<script type="text/javascript">
        gadgets.rpc.setRelayUrl("sidebar-gadget2", '//9dl7h78ivl8smpn7vl3d9mo2g1ajbhaj-a-blogger-opensocial.googleusercontent.com/gadgets/files/container/rpc_relay.html');
        gadgets.rpc.setAuthToken("sidebar-gadget2", "-9119957859124920018");
      </script>
</div>

<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=Gadget&widgetId=Gadget2&action=editWidget&sectionId=footer-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Gadget2"));' target='configGadget2' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div></div>
<table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'>
<tbody>
<tr>
<td class='first columns-cell'>
<div class='foot section' id='footer-2-1'></div>
</td>
<td class='columns-cell'>

<div class='foot section' id='footer-2-2'></div>
</td>
</tr>
</tbody>
</table>
<!-- outside of the include in order to lock Attribution widget -->
<div class='foot section' id='footer-3'><div class='widget Attribution' id='Attribution1'>
<div class='widget-content' style='text-align: center;'>
Awesome Inc. template. Template images by <a href='http://www.istockphoto.com/googleimages.php?id=5972475&platform=blogger&langregion=en' target='_blank'>Storman</a>. Powered by <a href='http://www.blogger.com' target='_blank'>Blogger</a>.
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>

<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=1362481190840665151&widgetType=Attribution&widgetId=Attribution1&action=editWidget&sectionId=footer-3' onclick='return _WidgetManager._PopupConfig(document.getElementById("Attribution1"));' target='configAttribution1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div></div>
</div>
</div>
<div class='footer-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</footer>
<!-- content -->
</div>

</div>
<div class='content-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<script type='text/javascript'>
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);
  </script>
<script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('widgetJsBefore');
</script><script type="text/javascript" src="http://www.blogger.com/static/v1/widgets/560535965-widgets.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type='text/javascript'>
if (typeof(BLOG_attachCsiOnload) != 'undefined' && BLOG_attachCsiOnload != null) { window['blogger_templates_experiment_id'] = "templatesV2";window['blogger_blog_id'] = '1362481190840665151';BLOG_attachCsiOnload('item_'); }_WidgetManager._Init('http://www.blogger.com/rearrange?blogID=1362481190840665151','http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html','1362481190840665151');
_WidgetManager._SetPageActionUrl('http://www.blogger.com/display?blogID=1362481190840665151','APq4FmCXE1u_cgQSjQGg3Yg_vK_aRvU6Um9EfMcYhph2VIhdhsYnz-CQhz-YN55Clr428nK2snAgOuQBasv1i0_zQVne2hEbfsuUhJpkAmXIsHif0fXuDFg=','AOuZoY5CtfCNqtexFvfFlaGAa4kuXFuUNg:1303078318575');
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'title': 'The Brain Dump', 'pageType': 'item', 'url': 'http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html', 'canonicalUrl': 'http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html', 'homepageUrl': 'http://blog.talawah.net/', 'faviconUrl': 'http://www.blogger.com/favicon.ico', 'enabledCommentProfileImages': true, 'searchLabel': '', 'searchQuery': '', 'pageName': 'Gavin King unveils Red Hat\47s Java \74strike\76killer\74/strike\76 successor: The Ceylon Project', 'pageTitle': 'The Brain Dump: Gavin King unveils Red Hat\47s Java killer successor: The Ceylon Project', 'encoding': 'UTF-8', 'locale': 'en', 'isPrivate': false, 'isMobile': false, 'mobileClass': '', 'languageDirection': 'ltr', 'feedLinks': '\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42The Brain Dump - Atom\42 href\75\42http://blog.talawah.net/feeds/posts/default\42 /\76\n\74link rel\75\42alternate\42 type\75\42application/rss+xml\42 title\75\42The Brain Dump - RSS\42 href\75\42http://blog.talawah.net/feeds/posts/default?alt\75rss\42 /\76\n\74link rel\75\42service.post\42 type\75\42application/atom+xml\42 title\75\42The Brain Dump - Atom\42 href\75\42http://www.blogger.com/feeds/1362481190840665151/posts/default\42 /\76\n\74link rel\75\42EditURI\42 type\75\42application/rsd+xml\42 title\75\42RSD\42 href\75\42http://www.blogger.com/rsd.g?blogID\0751362481190840665151\42 /\76\n', 'meTag': '', 'openIdOpTag': '', 'imageSrcTag': '\74link rel\75\42image_src\42 href\75\42http://3.bp.blogspot.com/-cyMzveP3IvQ/TaR7f3qkYmI/AAAAAAAAAIk/mrChE-G0b5c/s72-c/Java.png\42 /\76\n', 'latencyHeadScript': '\74script type\75\42text/javascript\42\76(function() { var a\75window;function c(b){this.t\75{};this.tick\75function(d,i,e){e\75e!\75undefined?e:(new Date).getTime();this.t[d]\75[e,i]};this.tick(\42start\42,null,b)}var f\75new c;a.jstiming\75{Timer:c,load:f};try{var g\75null;if(a.chrome\46\46a.chrome.csi)g\75Math.floor(a.chrome.csi().pageT);if(g\75\75null)if(a.gtbExternal)g\75a.gtbExternal.pageT();if(g\75\75null)if(a.external)g\75a.external.pageT;if(g)a.jstiming.pt\75g}catch(h){};a.tickAboveFold\75function(b){var d\0750;if(b.offsetParent){do d+\75b.offsetTop;while(b\75b.offsetParent)}b\75d;b\74\075750\46\46a.jstiming.load.tick(\42aft\42)};var j\75false;function k(){if(!j){j\75true;a.jstiming.load.tick(\42firstScrollTime\42)}}a.addEventListener?a.addEventListener(\42scroll\42,k,false):a.attachEvent(\42onscroll\42,k);\n })();\74/script\076', 'mobileHeadScript': '', 'ieCssRetrofitLinks': '\74!--[if IE]\76\74script type\75\42text/javascript\42 src\75\42http://www.blogger.com/static/v1/jsbin/126994838-ieretrofit.js\42\76\74/script\76\n\74![endif]--\076'}}]);
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'crosscol', null, document.getElementById('HTML1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile2', 'sidebar-right-1', null, document.getElementById('Profile2'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'sidebar-right-1', null, document.getElementById('PopularPosts1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AdSenseView', new _WidgetInfo('AdSense2', 'sidebar-right-1', null, document.getElementById('AdSense2'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_CustomSearchView', new _WidgetInfo('CustomSearch1', 'sidebar-right-1', null, document.getElementById('CustomSearch1'), {'title': 'Search This Blog', 'includeBlog': true, 'includePostLinks': true, 'includeWeb': false, 'linkLists': [], 'blogUrl': 'http://blog.talawah.net/', 'loadingMsg': 'Loading...', 'thisBlogMsg': 'This Blog', 'linkedFromHereMsg': 'Linked From Here', 'theWebMsg': 'The Web', 'backgroundColor': '#fefefe', 'textColor': '#575757', 'dateColor': '#759299', 'linkColor': '#2f8dc5', 'urlColor': '#2f8dc5', 'visitedLinkColor': '#423bae', 'borderColor': '#759299', 'activeBorderColor': '#759299'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive2', 'sidebar-right-1', null, document.getElementById('BlogArchive2'), {'languageDirection': 'ltr'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_GadgetView', new _WidgetInfo('Gadget1', 'sidebar-right-1', null, document.getElementById('Gadget1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_SubscribeView', new _WidgetInfo('Subscribe1', 'sidebar-right-1', null, document.getElementById('Subscribe1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_FollowByEmailView', new _WidgetInfo('FollowByEmail1', 'sidebar-right-1', null, document.getElementById('FollowByEmail1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AdSenseView', new _WidgetInfo('AdSense1', 'sidebar-right-1', null, document.getElementById('AdSense1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogListView', new _WidgetInfo('BlogList1', 'sidebar-right-1', null, document.getElementById('BlogList1'), {'numItemsToShow': 0, 'totalItems': 4}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', null, document.getElementById('Attribution1'), {'attribution': 'Awesome Inc. template. Template images by \74a href\75\47http://www.istockphoto.com/googleimages.php?id\0755972475\46platform\75blogger\46langregion\75en\47 target\75\47_blank\47\76Storman\74/a\76. Powered by \74a href\75\47http://www.blogger.com\47 target\75\47_blank\47\76Blogger\74/a\76.'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_GadgetView', new _WidgetInfo('Gadget2', 'footer-1', null, document.getElementById('Gadget2'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header'));
_WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar'));
_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', null, document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': false}, 'displayModeFull'));
</script>
</body>

</html>